import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class ConnectionManager {
private static String URL = "jdbc:google:mysql://your-project-id:your-instance-name/database";
private static String DRIVER = "com.mysql.jdbc.GoogleDriver";
private static String USERNAME = "root";
private static String PASSWORD = "test";
private static Connection CON = null;
public static Connection getConnection() {
try {
Class.forName(DRIVER);
try {
CON = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException se) {
//Handle errors for JDBC
se.printStackTrace();
}
} catch (Exception ex) {
//Handle errors for Class.forName
ex.printStackTrace();
}
//return a connection object
return CON;
}
}
我创建了上面的类来连接Android Studio中的我的Cloud SQL实例,但是上面的类返回了一个NULL,这反过来伤害了我的其余代码:
conn = ConnectionManager.getConnection();
stmt = conn.createStatement();
String sql;
sql = "INSERT into messages (message) VALUES('Hello World')";
ResultSet rs = stmt.executeQuery(sql);
我不确定为什么我会收到此错误:
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.sql.Statement java.sql.Connection.createStatement()' on a null object reference
我错过了一些进口商品吗?
答案 0 :(得分:2)
SELECT
[Measures].[ReplaceWithActualMeasure] ON COLUMNS,
NON EMPTY
[Account].[Account Number].ALLMEMBERS*
{[simulationDate].[day].&[10010101]}*
{[statisticPeriod].[period].&[201201]}*
{[region].[code].&[SO]} ON ROWS
FROM [myWH];
仅在您的应用程序在AppEngine中运行时才有效,并记得在appengine中启用连接器。 如果不只是使用com.mysql.jdbc.Driver。
指南非常简单:https://cloud.google.com/appengine/docs/java/cloud-sql/#enable_connector_j
答案 1 :(得分:0)
在这里找到一些有趣的东西:cloud.google.com/sql/docs/external
因此,您可以使用普通的MySQL连接器连接,而无需App Engine。你在这里得到了jar文件:http://dev.mysql.com/downloads/connector/j/
解决1:
授权您将要连接的IP或IP范围
你需要获得你的IP。如果您使用正常的dsl,则可能会获得动态IP,因此您必须经常在Cloud SQL的管理控制台中对其进行更改。
答案 2 :(得分:0)
这可能是两件事之一的原因:
1)缺少许可。尝试在Manifest中添加这些,
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.access_wifi_state" />
2)将“jtds-1.3.1.jar”文件添加到app / lib forlder