簡體   English   中英

java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver:我是否正在加載正確的驅動程序?

[英]java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver : Am I loading the right driver?

當我運行以下代碼段以連接到數據源以通過查詢獲取數據時:

        try {
        String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        Class.forName(driver);
        String Url = "jdbc:sqlserver://localhost:1433;databaseName=movies";
        Connection connection = DriverManager.getConnection(Url,"sa", "xxxxxxx);
        //            Context initContext = new InitialContext();
        //            Context envContext = (Context)initContext.lookup("java:comp/env");
        //            DataSource ds = (DataSource)envContext.lookup("");
        //            Connection connection = ds.getConnection();
        String query_name = "select name from list where name='" + data + "'";

顯示此異常跟蹤:

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at gui.MainGui.startSqlServerDataSearch(MainGui.java:148)
at gui.MainGui$3.run(MainGui.java:129)
at java.lang.Thread.run(Thread.java:619)

為什么會出現此異常? 我已經建立了到sql服務器的連接(通過加載此處給出的驅動程序),可以看到sql server中定義的數據庫。 以下快照說明了這一點:

在此處輸入圖片說明

具有定義的數據庫和Class.forName(driver) 是不足夠的。

您需要確保適當的數據庫驅動程序jar位於類路徑中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM