1

私はこのブログ投稿から助けを得ました:

しかし、com.mysql.jdbc.driver class not found 例外が発生します。そのブログ投稿の違いは、私の場合、MS SQL ではなく mysql に接続しようとしたことです。これまでのコードは次のとおりです。

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;
}

}

私が間違っていることを教えてください。マニフェストにインターネットへのアクセス許可も追加しました。

4

5 に答える 5

2

JTDSここからドライバーをダウンロードして、 classpath. コードをビルドして実行します。うまくいきます。

于 2013-03-07T14:29:36.103 に答える
0

記載されているURLに問題があると思います。

最初にローカルホストで実行してから、使用している正しいURLを指定してください。"jdbc:mysql:// localhost:3306 / databaseName"

于 2013-03-07T14:36:37.857 に答える
0

http://www.java2s.com/Code/Jar/s/Downloadsqljdbc430jar.htmから jar をダウンロードし、 これらの行を以下のように変更します。

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 に答える
0

MYSQL DB 接続用のクラスをロードしています。MS SQL 用のクラスをロードし、ビルド パスに必要な jar ファイルを含める必要があります。Class.forName 行を次のように編集します。

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

クラスパスに Mysql Connection JAR がありません。

この jar にはドライバーが含まれています。com.mysql.jdbc.Driver

ただし、MySQL ではなく MSSQL を使用しているため、代わりに MSSQL に適したドライバーを見つけることをお勧めします。

于 2013-03-07T14:29:38.053 に答える