我从这篇博客文章中获得了帮助:
但是我发现com.mysql.jdbc.driver类未找到异常。那篇博客文章的不同之处在于,在我的案例中,他们尝试连接到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的许可。
从以下位置下载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");