"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 с вашим приложением.