使用eclipse连接到Android应用程序中的SQL服务器时出错

时间:2013-02-01 06:20:38

标签: android eclipse sql-server-2008-r2

我在"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                                        

1 个答案:

答案 0 :(得分:0)

您的连接字符串看起来格格不入。此外,MySQL的默认端口是3306.除非您更改了端口号,否则应使用3306.将用户名和密码转换为Connstring。如果您正在使用

getConnection (ConnStr, User, Password) 

当你在通话中传递它时,你不需要在conn字符串中设置它。

尝试这个conn字符串,它是裸骨但应该连接。确保使用getConnection并传入用户名/密码

jdbc:jtds:sqlserver://localhost:3306/test

如果这不起作用,您将需要向Logcat输出更多信息和错误。查看here以了解如何使用Logcat。您的帖子中的Logcat中没有任何错误消息,只有信息和警告