1

我从这篇博文中得到了帮助:

但是我得到 com.mysql.jdbc.driver class not found 异常。那篇博客文章的不同之处在于,在我的例子中,他们尝试连接到 mysql 而不是 MS SQL。到目前为止,这是我的代码: package com.example.dbtry;

public class MainActivity extends Activity {
protected TextView tv;

private static final String url = "jdbc:jtds:sqlserver://Server.com:1433/DB_name";
private static final String user = "username";
private static final String pass = "password";



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    testDB();
}

public void testDB() {
    tv = (TextView)findViewById(R.id.textView1);
     try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(url, user, pass);
            /* System.out.println("Database connection success"); */

            String result = "Database connection success\n";
          tv.setText(result);
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery("select * from this_table");
            ResultSetMetaData rsmd = rs.getMetaData();

            while(rs.next()) {
                result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
                result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
                result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n";
            }
            tv.setText(result);
        }
        catch(Exception e) {
            e.printStackTrace();
            tv.setText(e.toString());
        }   

    }


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

请告诉我我做错了什么。我还在清单中添加了对 Internet 的权限。

4

5 回答 5

2

从此处下载JTDS驱动程序并将其包含在您的classpath. 构建并运行您的代码。它会工作的。

于 2013-03-07T14:29:36.103 回答
0

您的类路径中缺少 Mysql Connection JAR。

此 jar 包含驱动程序:com.mysql.jdbc.Driver

但是,由于您使用的是 MSSQL 而不是 MySQL,我建议您为 MSSQL 找到合适的驱动程序。

于 2013-03-07T14:29:38.053 回答
0

我想有一个问题的网址所述。

尝试先在本地主机上运行,​​然后提供您拥有的正确 url。“jdbc:mysql://localhost:3306/databaseName”

于 2013-03-07T14:36:37.857 回答
0

您正在为 MYSQL DB 连接加载类,您应该为 MS SQL 加载类,并且应该在构建路径中包含所需的 jar 文件。编辑 Class.forName 行,如下所示:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
于 2013-03-07T14:45:28.677 回答
0

从以下位置下载 jar:http ://www.java2s.com/Code/Jar/s/Downloadsqljdbc430jar.htm 然后将这些行更改如下:

private static final String url = "jdbc:sqlserver://Server.com:1433/DB_name";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
于 2013-03-07T14:50:49.417 回答