2017-02-24 11 views
1

私はGoogleクラウドSpannerデータベースへのJDBC接続をオープンしようとしていますが、私は次のようなエラーメッセージが出ます:エラーGoogleクラウドスパナへのJDBC接続を開こうとすると

java.lang.IllegalArgumentExceptionがします:この サービスにはプロジェクトIDが必要ですが、ビルダーまたは 環境からプロジェクトIDを特定できませんでした。ビルダーを使用してプロジェクトIDを設定してください。

私のJDBC URLは次のとおりです。

jdbc:cloudspanner://localhost;Project=project-id;Instance=instance-id;Database=database-name;PvtKeyPath=path-to-key-file 

私はURLからProjectプロパティを削除した場合、私は次の例外を取得:

java.sql.SQLNonTransientConnectionException:[シンバ] JDBC 接続が拒否されました:[Simba] JDBC必須接続キー: プロジェクト; [シンバ] JDBCオプションの接続キー(S):言語、 モード

だから、ドライバーが私のプロジェクトIDを拾うないようですが、何とかそれを受け入れません。私はチェックして、私のプロジェクトIDが私がGoogleで作成したプロジェクトIDと同じであることを二重にチェックしました、私はまた、プロジェクトIDの代わりにプロジェクト名に値を変更しようとしました。

URLの例がありますか?

編集:これはプライベートキーファイルへの参照に関連しているようです。自分の秘密鍵ファイルを指す環境変数GOOGLE_APPLICATION_CREDENTIALSを作成すると、正常に接続できます。この環境変数を削除すると、上記の例外が発生します。

+0

関連:http://stackoverflow.com/questions/42287427/google-spanner-jdbc-connection-strings –

+0

同じ問題が発生します。現在の1.0.4リリースでは、このパラメータは機能していないようです。 – abhillman

+0

この問題は、jdbcドライバのリリース1.0.6では修正されていません。それを試してください。 –

答えて

0

Googleが提供するJDBCドライバは厳しく制限されているため(DMLとDDLのStatemetnsはサポートしていません)、独自のJDBCドライバを作成しました。このドライバは、JPA/Hibernate対応アプリケーションで動作するように設計されています。ドライバは次の場所にあります:https://github.com/olavloite/spanner-jdbc

このドライバは、PvtKeyPathプロパティを含むGoogleと同じ種類のURLをサポートしています。

1

使用しているドライバのバージョンはどれですか?最新バージョンでは、URLの認証情報ファイルへのパスを指定する場合は、GOOGLE_APPLICATION_CREDENTIALSを設定する必要はありません。

+0

Google Cloud Spannerクライアントライブラリのバージョン1.0.4.1005のJDBCドライバ(Java 8、JDBC 4.2バージョン)とバージョン0.9.3-betaを使用しています。 –

+0

この問題は、リリース1.0.6.1007で修正されました。それを試してください。 –

関連する問題