首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Java独立应用程序连接到Google cloud sql

从Java独立应用程序连接到Google cloud sql
EN

Stack Overflow用户
提问于 2015-02-26 03:01:28
回答 3查看 11.8K关注 0票数 0

我想写一个java独立的应用程序来连接到google cloud sql - MySql数据库。我可以找到适用于app客户端的示例,但不适用于独立的java应用程序。

当我尝试这样做时,我得到了以下错误。

代码语言:javascript
运行
复制
Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:google:mysql://IP:Instance_name?user=user_name");
Statement st = con.createStatement();
ResultSet rs = con.createStatement().executeQuery("SELECT 1 + 1");

它会失败,并显示错误:

未找到适用于jdbc:google:mysql:..的驱动程序

我在他们要求启用mysql连接器的地方看到了一些答案。但应用程序引擎项目就是这种情况。我如何使用独立的应用程序?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-26 11:17:43

您只需使用标准的mysql连接器即可连接云sql实例:例如:

代码语言:javascript
运行
复制
DriverManager.getConnection("jdbc:mysql://IP:Instance_name?user=user_name");

您可以查看此链接https://cloud.google.com/sql/docs/external以了解更多信息。

票数 2
EN

Stack Overflow用户

发布于 2021-06-13 00:35:02

我们可以简单地使用标准的mysql java连接器来连接到云sql,形成一个独立的java应用程序。

遵循下面的代码片段。这将帮助您无缝地连接到数据库。

代码语言:javascript
运行
复制
class.forName(com.mysql.jdbc.Driver);
String connectionUrl = "jdbc:mysql//<public-ip>/<database>?useSSL=false";
Connection conn = DriverManager.getConnection(connectionUrl, user, password);

在此之前,请确保您从互联网上获取do地址,并将其添加到以下路径下: google cloud -> sql -> sqlinstance -> connections -> networking -> Authorized networks。

Click here to see the google cloud mysql configuration

票数 0
EN

Stack Overflow用户

发布于 2018-08-04 12:57:00

在运行代码之前在<>中进行编辑

代码语言:javascript
运行
复制
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLNonTransientConnectionException;
import java.sql.Statement;

/**
* A sample app that connects to a Cloud SQL instance and lists all available tables 
in a database.
*/

public class Cloud_sql {
public static void main(String[] args) throws SQLNonTransientConnectionException 
,IOException, SQLException {

String instanceConnectionName = <Your instanceConnectionName>;
String databaseName = <Database name from which u want to list tables>;


String IP_of_instance = <IP address of the instance>;
String username = <mysql username>;
String password = <mysql password>;

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

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

try (Statement statement = connection.createStatement()) {
  ResultSet resultSet = statement.executeQuery("SHOW TABLES");
  while (resultSet.next()) {
    System.out.println(resultSet.getString(1));
  }
}catch(Exception e){
  e.printStackTrace();
}
}
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28727434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档