我试图打开一个JDBC连接到谷歌云Spanner资料库,但我得到了以下错误消息:错误试图打开一个JDBC连接到谷歌云扳手时
java.lang.IllegalArgumentException异常:此 服务需要项目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必需的连接密钥: Project; [辛巴] JDBC可选连接密钥(S):语言, 模式
如此看来,司机不去接我的项目ID,但不知何故不接受它。我已经检查并仔细检查过我的项目ID是否与我在Google上创建的项目ID相同,我也尝试将值更改为项目名称而不是项目ID,但无济于事。
有没有人有可用的URL示例?
编辑:它似乎涉及到私钥文件的引用。如果我使环境变量GOOGLE_APPLICATION_CREDENTIALS指向我的私钥文件,则可以成功建立连接。如果我删除这个环境变量,我会得到上面的异常。
相关:http://stackoverflow.com/questions/42287427/google-spanner-jdbc-connection-strings –
我得到同样的问题。看来该参数在当前的1.0.4版本中不起作用。 – abhillman
jdbc驱动程序的发行版1.0.6中尚未修复此问题。请尝试。 –