如何从 android studio 连接到云端 SQL?
How to connect to cloud SQL from android studio?
我想从 Android 工作室连接到云 SQL。下面是我用来建立连接的代码。我是否需要从云控制台进行任何代理设置?我需要在我的电脑上安装 SQL 或类似软件吗?
此外,到目前为止我已经编写了下面的代码并得到,找不到合适的驱动程序,错误。
代码:
public void getDatafromSQL() {
Log.d("GeoL", "getSQL");
Connection connection;
String query = "Some query";
try {
String databaseName = "databaseName";
String instanceConnectionName = "instanceConnectionName";
String jdbcUrl = String.format(
"jdbc:mysql://google/%s?cloudSqlInstance=%s&"
+ "socketFactory=com.google.cloud.sql.mysql.SocketFactory",
databaseName,
instanceConnectionName);
connection = DriverManager.getConnection(jdbcUrl, user, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
Log.d("GeoL", String.valueOf(resultSet));
} catch (SQLException e) {
e.printStackTrace();
}
}
错误信息:
07-28 16:55:22.881 11550-11550/com.example.pratyush.geofencing W/System.err: java.sql.SQLException: No suitable driver found for jdbc:mysql://google/[databasename]?cloudSqlInstance=[instanceName]&socketFactory=com.google.cloud.sql.mysql.SocketFactory
07-28 16:55:22.886 11550-11550/com.example.pratyush.geofencing W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:594)
07-28 16:55:22.886 11550-11550/com.example.pratyush.geofencing W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:219)
07-28 16:55:22.886 11550-11550/com.example.pratyush.geofencing W/System.err: at com.example.pratyush.geofencing.Main2Activity.getDatafromSQL(Main2Activity.java:169)
07-28 16:55:22.886 11550-11550/com.example.pratyush.geofencing W/System.err: at com.example.pratyush.geofencing.Main2Activity.onClick(Main2Activity.java:62)
因此,如果您想通过 JDBC 连接到外部 MySQL 数据库,您必须导入相应的 JDBC 驱动程序。
请看下面link:https://gist.github.com/cofearabi/5039135
这是 Android 的示例。驱动可以在官方MySQL主页
下载
我想从 Android 工作室连接到云 SQL。下面是我用来建立连接的代码。我是否需要从云控制台进行任何代理设置?我需要在我的电脑上安装 SQL 或类似软件吗?
此外,到目前为止我已经编写了下面的代码并得到,找不到合适的驱动程序,错误。
代码:
public void getDatafromSQL() {
Log.d("GeoL", "getSQL");
Connection connection;
String query = "Some query";
try {
String databaseName = "databaseName";
String instanceConnectionName = "instanceConnectionName";
String jdbcUrl = String.format(
"jdbc:mysql://google/%s?cloudSqlInstance=%s&"
+ "socketFactory=com.google.cloud.sql.mysql.SocketFactory",
databaseName,
instanceConnectionName);
connection = DriverManager.getConnection(jdbcUrl, user, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
Log.d("GeoL", String.valueOf(resultSet));
} catch (SQLException e) {
e.printStackTrace();
}
}
错误信息:
07-28 16:55:22.881 11550-11550/com.example.pratyush.geofencing W/System.err: java.sql.SQLException: No suitable driver found for jdbc:mysql://google/[databasename]?cloudSqlInstance=[instanceName]&socketFactory=com.google.cloud.sql.mysql.SocketFactory
07-28 16:55:22.886 11550-11550/com.example.pratyush.geofencing W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:594)
07-28 16:55:22.886 11550-11550/com.example.pratyush.geofencing W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:219)
07-28 16:55:22.886 11550-11550/com.example.pratyush.geofencing W/System.err: at com.example.pratyush.geofencing.Main2Activity.getDatafromSQL(Main2Activity.java:169)
07-28 16:55:22.886 11550-11550/com.example.pratyush.geofencing W/System.err: at com.example.pratyush.geofencing.Main2Activity.onClick(Main2Activity.java:62)
因此,如果您想通过 JDBC 连接到外部 MySQL 数据库,您必须导入相应的 JDBC 驱动程序。
请看下面link:https://gist.github.com/cofearabi/5039135
这是 Android 的示例。驱动可以在官方MySQL主页
下载