如何为SQL服务器构建Google云SQLJDBCURL
How to construct Google Cloud SQL JDBC URL for SQL Server
关于如何在 Cloud SQL 中为 SQL 服务器实例创建 JDBC URL 的最佳文档位于此处:https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory
唯一的问题是,没有为 SQL 服务器创建 JDBC URL 的示例或说明。
我已经尝试了一些明显的可能解决方案,none 其中有效 - 例如:
jdbc:sqlserver:///<DATABASE_NAME>;socketFactory=com.google.cloud.sql.sqlserver.SocketFactory;cloudSqlInstance=<INSTANCE_CONNECTION_NAME>;user=<USER_NAME>;password=<PASSWORD>
我在同一个项目中有一个 mysql 服务器,我可以毫无问题地连接到它(在更新 jdbc 驱动程序和 JDBC URL 之后) . SQL 管理员 API 已启用并且 GOOGLE_APPLICATOIN_CREDENTIALS 指向正确的服务帐户。
相关pom.xml
<dependency>
<groupId>com.google.cloud.sql</groupId>
<artifactId>cloud-sql-connector-jdbc-sqlserver</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>8.4.0.jre8</version>
</dependency>
如果我正确阅读 git 存储库,它实际上看起来 JDBC 对 SQL 服务器的支持刚刚添加到 1.2.0 版本中 - 有没有人能够让这个工作?
https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory/pull/263
我收到错误
ERROR: The TCP/IP connection to the host /<DATABASE_NAME>, port 1433 has failed. Error: "/<DATABASE_NAME>. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall."
谢谢!
根本原因是我使用的 SQLServerDriver
版本似乎与 com.google.cloud.sql.sqlserver.SocketFactory
不兼容。我能够切换到按预期工作的 net.sourceforge.jtds.jdbc.Driver
。此线程中的更多信息:https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory/issues/373
关于如何在 Cloud SQL 中为 SQL 服务器实例创建 JDBC URL 的最佳文档位于此处:https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory
唯一的问题是,没有为 SQL 服务器创建 JDBC URL 的示例或说明。
我已经尝试了一些明显的可能解决方案,none 其中有效 - 例如:
jdbc:sqlserver:///<DATABASE_NAME>;socketFactory=com.google.cloud.sql.sqlserver.SocketFactory;cloudSqlInstance=<INSTANCE_CONNECTION_NAME>;user=<USER_NAME>;password=<PASSWORD>
我在同一个项目中有一个 mysql 服务器,我可以毫无问题地连接到它(在更新 jdbc 驱动程序和 JDBC URL 之后) . SQL 管理员 API 已启用并且 GOOGLE_APPLICATOIN_CREDENTIALS 指向正确的服务帐户。
相关pom.xml
<dependency>
<groupId>com.google.cloud.sql</groupId>
<artifactId>cloud-sql-connector-jdbc-sqlserver</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>8.4.0.jre8</version>
</dependency>
如果我正确阅读 git 存储库,它实际上看起来 JDBC 对 SQL 服务器的支持刚刚添加到 1.2.0 版本中 - 有没有人能够让这个工作? https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory/pull/263
我收到错误
ERROR: The TCP/IP connection to the host /<DATABASE_NAME>, port 1433 has failed. Error: "/<DATABASE_NAME>. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall."
谢谢!
根本原因是我使用的 SQLServerDriver
版本似乎与 com.google.cloud.sql.sqlserver.SocketFactory
不兼容。我能够切换到按预期工作的 net.sourceforge.jtds.jdbc.Driver
。此线程中的更多信息:https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory/issues/373