简体   繁体   中英

com.mysql.jdbc.driver class not found exception

I took help from this blog post:

But I get com.mysql.jdbc.driver class not found exception. What's different in that blog post was that they've tried to connect to mysql instead of MS SQL in my case. Here's my code so far: 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;
}

}

Please tell me what I'm doing wrong. I have also added permission to the Internet in the manifest.

Download the JTDS driver from here and include it in your classpath . Build and run your code. It'll work.

You're missing the Mysql Connection JAR on your classpath.

This jar contains the driver: com.mysql.jdbc.Driver

However as you are using MSSQL and not MySQL I suggest you find a suitable driver for MSSQL instead.

I guess there is a problem with the url stated.

try running on the local host first and then give the correct url that you have. "jdbc:mysql://localhost:3306/databaseName"

You are loading the class for MYSQL DB connection, you should load the class for MS SQL and should include the required jar files in the build path. Edit the Class.forName line as below:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();

download the jar from: http://www.java2s.com/Code/Jar/s/Downloadsqljdbc430jar.htm then change these lines as below:

private static final String url = "jdbc:sqlserver://Server.com:1433/DB_name";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM