我在"conn = DriverManager.getConnection(connString, username, password);
线上发现了异常。
public void query2() {
Log.i("Android", " MySQL Connect Example.");
Connection conn = null;
try {
String driver = "net.sourceforge.jtds.jdbc.Driver";
System.out.println("*************inside class 1**************");
Class.forName(driver).newInstance();
// test = com.microsoft.sqlserver.jdbc.SQLServerDriver.class;
System.out.println("*************inside class 2**************");
String connString = "jdbc:jtds:sqlserver://localhost:1433;" +
"DatabaseName=test;user=sa;password=sa1;";
System.out.println("*************inside class 3**************");
String username = "sa";
String password = "sa1";
conn = DriverManager.getConnection(connString, username, password);
Log.w("Connection", "open");
Statement stmt = conn.createStatement();
ResultSet reset = stmt.executeQuery("select * from titles");
// Print the data to the console
while (reset.next()) {
Log.w("Data:", reset.getString(3));
// Log.w("Data",reset.getString(2));
}
conn.close();
} catch (Exception e) {
Log.w("Error connection", "" + e.getMessage());
}
}
我的日志猫显示:
02-01 06:42:36.845: I/Android(1187): MySQL Connect Example.
02-01 06:42:39.365: I/System.out(1187): *************inside class 1**************
02-01 06:42:40.843: I/System.out(1187): *************inside class 2**************
02-01 06:42:42.396: I/System.out(1187): *************inside class 3**************
02-01 06:42:45.220: D/dalvikvm(1187): GC_CONCURRENT freed 161K, 10% free 2606K/2888K, paused 74ms+72ms, total 233ms
02-01 06:43:00.970: W/Error connection(1187): null
答案 0 :(得分:0)
您的连接字符串看起来格格不入。此外,MySQL的默认端口是3306.除非您更改了端口号,否则应使用3306.将用户名和密码转换为Connstring。如果您正在使用
getConnection (ConnStr, User, Password)
当你在通话中传递它时,你不需要在conn字符串中设置它。
尝试这个conn字符串,它是裸骨但应该连接。确保使用getConnection并传入用户名/密码
jdbc:jtds:sqlserver://localhost:3306/test
如果这不起作用,您将需要向Logcat输出更多信息和错误。查看here以了解如何使用Logcat。您的帖子中的Logcat中没有任何错误消息,只有信息和警告