当前位置: 首页 > 知识库问答 >
问题:

用Java连接Google Cloud SQL

晋安国
2023-03-14

我已经试了好几天了,但没有结果。我正在尝试通过我正在构建的JavaFX程序连接到我的MySQL数据库,而不需要我对尝试连接的每个IP都进行白名单。GCP支持团队已经回复了我一次,但完全错误地解释了这个问题(给出了一些日志的例子,这些日志只是在我将自己的IP白化后才出现的,以测试我的程序的其他方面)。

这是一个很好的例子

String jdbcUrl = String.format(
"jdbc:mysql://google/%s?cloudSqlInstance=%s"
+ "&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false",
databaseName,
instanceConnectionName);

Connection connection = DriverManager.getConnection(jdbcUrl, username, 
password);

共有1个答案

华善
2023-03-14

对于项目的回购,自述文件中有一些更详细的说明。

一些潜在的跳闸点:

>

  • 使用应用程序默认凭据向工厂提供凭据。

    将库作为依赖项添加到POM或GradleFile中。

    确保防火墙允许从端口3307输出到云SQL实例。

  •  类似资料:
    • 我希望代码检查互联网连接,直到连接可用。如果互联网断开,我不希望执行停止。 关于堆栈溢出,很少有检查internet连接的解决方案,但是如果我使用这些解决方案,一段时间后我会得到堆栈溢出错误。 我从以下函数调用该方法: MessagingException:没有路由到主机:Connect;嵌套异常为:java.net.norouteToHostException:没有到主机的路由:连接在com.s

    • 我搜索了连接池并阅读了相关内容。如果我理解正确,连接池就像一组打开的连接。如果建立或创建了连接,则应将其添加到连接池中,如果该连接已关闭,则应在连接池中删除该连接;虽然它是开放的,我可以使用它一次又一次。 在阅读这些关于连池的教程和解释时,我有一些问题: > 连接池只能在某台计算机上使用吗?像ComputerA不能与ComputerB共享其连接池? 哪里应该是否放置? 仅在选择/加载记录时使用连接

    • 问题内容: 我一直在尝试让一个简单的网络测试程序无法运行。 服务器: 客户: 当我使用127.0.0.1或我的内部IP作为主机名时,该程序运行良好。但是,每当我切换到外部IP地址时,都会引发错误。 我特意选择了一个不常见的端口,以查看是否是问题所在,但没有运气。使用telnet可以毫无问题地进行连接,但是当我尝试使用canyouseeme.org访问端口时,它表明连接超时。我什至尝试禁用所有防火墙

    • 我正在开发一个Java的Restful Web应用程序,并计划将MongoDB与吗啡用作ODM。由于我是MongoDB的新手,我需要一些建议。 > 处理db连接的最佳方法是使用db连接池,mongoClient负责处理。 所以我需要重用上面的数据存储,而不是在每次请求时创建一个新实例,因为它会浪费大量资源并影响性能。我应该将上述实现为单例类吗?有人能帮我解决这个问题吗?

    • 我是SAP零售新手,有一个任务是使用java与SAP零售系统连接和交互,以检索促销、提供数据。 我正在寻找这样做的方法,要么使用任何java api或web服务。 请给我一些想法来实现这一点。

    • 我无法连接到heroku数据库,当我将我的应用程序部署到heroku时,我在日志中得到了以下内容: [localhost-startStop-1]警告org.springframework.web.context.support.annotationConfigWebApplicationContext-上下文初始化过程中遇到的异常-取消刷新尝试:org.springframework.beans