[英]ClassNotFoundException for com.microsoft.sqlserver.jdbc.SQLServerDriver
[英]Getting ClassNotFoundException on code: “Class.forName(”com.microsoft.sqlserver.jdbc.SqlServerDriver“);”
這是我的第一個Java應用程序,我對Java和NetBeans完全沒有經驗。
我一直在嘗試連接到 sql 並獲取一些記錄 2 天。 問題是關於jdbc驅動程序,讓我解釋一下。 我已經下載了sqljdbc驅動程序,然后按照以下步驟操作:
右鍵單擊項目-> 選擇屬性-> 在左側單擊庫-> 在編譯選項卡下 - 單擊添加 Jar/文件夾按鈕並選擇sqljdbc4.jar文件。 那應該沒問題吧?
然后我寫了這段代碼但是我無法擺脫這個異常:
Exception in thread "main" java.lang.ClassNotFoundException:
com.microsoft.sqlserver.jdbc.SqlServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at javaapplication1.JavaApplication1.main(JavaApplication1.java:30)
這是代碼
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String url = "jdbc:sqlserver://.\\SQLEXPRESS;databaseName=Northwind; Integrated Security = SSPI ";
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SqlServerDriver");
con = DriverManager.getConnection(url);
String sql = "Select Top 3 from * person.Contact";
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
根據此頁面,該類稱為SQLServerDriver
而不是SqlServerDriver
。 案例很重要!
所以,試試:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
請注意,對於較新版本的 JDBC,沒有必要使用Class.forName(...)
顯式加載驅動程序類。 我鏈接到的頁面明確說明您不必這樣做。 因此,您可以刪除整行,然后它應該可以工作。
Java:在 NetBeans 中使用 MSSQL 的 JDBC 連接
腳步
本地數據庫連接代碼:
String url = "jdbc:sqlserver://YOUR PC NAME;instanceName=SQLEXPRESS;DatabaseName=dbname;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection myCon = DriverManager.getConnection(url);
Statement myStmt = myCon.createStatement();
ResultSet myRs = myStmt.executeQuery("select * from table name");
我有關於這個問題的更新。
Ctrl+Shift+Alt+S
並打開項目結構,然后在依賴項部分添加您的 jar 文件。我希望它也適用於你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.