Google Spanner 模拟器是否可以与 Google Spanner JDBC 驱动程序一起使用?
Does the Google Spanner Emulator work with the Google Spanner JDBC Driver?
运行 Google Spanner 模拟器本地 (0.8.0)
export SPANNER_EMULATOR_HOST=localhost:9010
Executing: docker run -p 127.0.0.1:9010:9010 -p 127.0.0.1:9020:9020 gcr.io/cloud-spanner-emulator/emulator:0.8.0
[cloud-spanner-emulator] 2020/07/17 22:23:21 gateway.go:135: Cloud Spanner emulator running.
[cloud-spanner-emulator] 2020/07/17 22:23:21 gateway.go:136: REST server listening at 0.0.0.0:9020
[cloud-spanner-emulator] 2020/07/17 22:23:21 gateway.go:137: gRPC server listening at 0.0.0.0:9010
这可以与 Google JDBC Spanner Driver 一起使用吗?
在我的测试中,我的猜测是:
不,目前不支持。
我可以设法连接到 Spanner 的 GCP 实例,但不能连接到模拟器。当我尝试使用端口 9010 或 9020 时,它基本上挂起。
我的jdbc连接字符串如下(项目、实例、数据库都已创建):
gcloud spanner databases list --project=local-project --instance=local-instance --configuration=spanner-emulator --format json
[
{
"name": "projects/local-project/instances/local-instance/databases/myDatabase",
"state": "READY"
},
]
# 9010
jdbc:cloudspanner://localhost:9010/projects/local-project/instances/local-instance/databases/myDatabase
# 9020
jdbc:cloudspanner://localhost:9020/projects/local-project/instances/local-instance/databases/myDatabase
# just the host
jdbc:cloudspanner://localhost/projects/local-project/instances/local-instance/databases/myDatabase
模拟器不使用 TLS,而 JDBC 驱动程序将默认使用它。您可以通过将 usePlainText
连接 属性 设置为 true
来关闭 JDBC 驱动程序的 TLS。以下连接 URL 应该有效:
jdbc:cloudspanner://localhost:9010/projects/local-project/instances/local-instance/databases/myDatabase?usePlainText=true
运行 Google Spanner 模拟器本地 (0.8.0)
export SPANNER_EMULATOR_HOST=localhost:9010
Executing: docker run -p 127.0.0.1:9010:9010 -p 127.0.0.1:9020:9020 gcr.io/cloud-spanner-emulator/emulator:0.8.0
[cloud-spanner-emulator] 2020/07/17 22:23:21 gateway.go:135: Cloud Spanner emulator running.
[cloud-spanner-emulator] 2020/07/17 22:23:21 gateway.go:136: REST server listening at 0.0.0.0:9020
[cloud-spanner-emulator] 2020/07/17 22:23:21 gateway.go:137: gRPC server listening at 0.0.0.0:9010
这可以与 Google JDBC Spanner Driver 一起使用吗?
在我的测试中,我的猜测是:
不,目前不支持。
我可以设法连接到 Spanner 的 GCP 实例,但不能连接到模拟器。当我尝试使用端口 9010 或 9020 时,它基本上挂起。
我的jdbc连接字符串如下(项目、实例、数据库都已创建):
gcloud spanner databases list --project=local-project --instance=local-instance --configuration=spanner-emulator --format json
[
{
"name": "projects/local-project/instances/local-instance/databases/myDatabase",
"state": "READY"
},
]
# 9010
jdbc:cloudspanner://localhost:9010/projects/local-project/instances/local-instance/databases/myDatabase
# 9020
jdbc:cloudspanner://localhost:9020/projects/local-project/instances/local-instance/databases/myDatabase
# just the host
jdbc:cloudspanner://localhost/projects/local-project/instances/local-instance/databases/myDatabase
模拟器不使用 TLS,而 JDBC 驱动程序将默认使用它。您可以通过将 usePlainText
连接 属性 设置为 true
来关闭 JDBC 驱动程序的 TLS。以下连接 URL 应该有效:
jdbc:cloudspanner://localhost:9010/projects/local-project/instances/local-instance/databases/myDatabase?usePlainText=true