"ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver" при запуске.class непосредственно из командной строки

Я знаю, что об этом спрашивали миллион раз, я просмотрел сотни ссылок, все указывают на то, что я делаю, но я не могу заставить это работать.

Код:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class ConnectMSSQLServer
{
public static void main(String[] args) {

        Connection conn = null;
        String dbName = "database1";
        String serverip="dv-bi-olap1";
        String serverport="1433";
        String url = "jdbc:sqlserver://localhost:1433;" + "databaseName=AdventureWorks;user=MyUserName;password=*****;";
        Statement stmt = null;
        ResultSet result = null;
        String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String databaseUserName = "admin";
        String databasePassword = "root";
        try {
            Class.forName(driver).newInstance();
            conn = DriverManager.getConnection(url);
            stmt = conn.createStatement();
            result = null;
            String pa,us;
            result = stmt.executeQuery("select * from table1 ");

            while (result.next()) {
                us=result.getString("uname");
                pa = result.getString("pass");              
                System.out.println(us+"  "+pa);
            }

            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

CMD команды:

C:\Users\blabla\Desktop>javac ConnectMSSQLServer.java

файл класса создан

set CLASSPATH =.;C:\Users\blabla\Desktop\sqljdbc_4.2\enu\sqljdbc42.jar

C:\Users\blabla\Desktop>java ConnectMSSQLServer

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at ConnectMSSQLServer.main(ConnectMSSQLServer.java:21)

хорошо, что работа вмятины, поэтому я попробовал ниже

C:\Users\blabla\Desktop>java -CLASSPATH =.;C:\Users\blabla\Desktop\sqljdbc_4.2\enu\sqljdbc42.jar -cp . ConnectMSSQLServer

тогда это

C:\Users\blabla\Desktop>java -CLASSPATH =.;C:\Users\blabla\Desktop\sqljdbc_4.2\enu\sqljdbc42.jar ConnectMSSQLServer

все привело к ошибке ниже

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at ConnectMSSQLServer.main(ConnectMSSQLServer.java:21)

2 ответа

Попробуйте удалить = & используя строчные classpath (или же cp) вариант

java -classpath .;C:\Users\blabla\Desktop\sqljdbc_4.2\enu\sqljdbc42.jar ConnectMSSQLServer

Вам необходимо скачать драйвер.

https://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx

Затем включите его в свое приложение. Исходя из того, что вы говорите, я не вижу, что у вас есть драйвер, необходимый для использования JBDC с вашим приложением.

Другие вопросы по тегам