在Android Studio中使用JDBC,无法找到合适的驱动程序

时间:2018-12-17 02:40:39

标签: android mysql android-studio jdbc gcloud

我是这个JDBC驱动程序的新手。我正在寻找将用户数据从我的Android应用程序保存到Google Cloud MySQL的方法。我碰巧发现JDBC可以完成此任务。

但是,我遇到此错误No suitable driver found for jdbc:mysql://google/waveUserData?cloudSqlInstance=wavdata&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false

我已经下载了JDBC驱动程序,并放入了/library/java/extensions

请帮助我,或者向我推荐一种有效地将用户数据从应用程序发送到Google Cloud mysql的方法。

这是我指的代码:this ServerFault answer

package com.google.cloud.sql.mysql.example;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
* A sample app that connects to a Cloud SQL instance and lists all       available tables in a database.
*/
public class ListTables {
  public static void main(String[] args) throws IOException,   SQLException {
    // TODO: fill this in
   // The instance connection name can be obtained from the instance overview page in Cloud Console
// or by running "gcloud sql instances describe <instance> | grep connectionName".
String instanceConnectionName = "<insert_connection_name>";

// TODO: fill this in
// The database from which to list tables.
String databaseName = "mysql";

String username = "root";

// TODO: fill this in
// This is the password that was set via the Cloud Console or empty if never set
// (not recommended).
String password = "<insert_password>";

if (instanceConnectionName.equals("<insert_connection_name>")) {
  System.err.println("Please update the sample to specify the instance connection name.");
  System.exit(1);
}

if (password.equals("<insert_password>")) {
  System.err.println("Please update the sample to specify the mysql password.");
  System.exit(1);
}

//[START doc-example]
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);
   //[END doc-example]

try (Statement statement = connection.createStatement()) {
  ResultSet resultSet = statement.executeQuery("SHOW TABLES");
  while (resultSet.next()) {
    System.out.println(resultSet.getString(1));
      }
    }
  }
}

0 个答案:

没有答案