2013-12-07 21 views
3

我有沒有因爲這個數據庫錯誤如何解決:發現SQLSERVER沒有合適的驅動程序://本地主機:1433;數據庫名= XX

APPLICATION STARTUP FAILURE No suitable driver found for sqlserver://localhost:1433;DatabaseName=XX java.sql.SQLException: No suitable driver found for sqlserver://localhost:1433;DatabaseName=XX at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:185) at artemispm.serverutil.ConnectionPool.newConnection(ConnectionPool.java:577) at artemispm.serverutil.ConnectionPool.manageConnections(ConnectionPool.java:470) at artemispm.serverutil.ConnectionPool.getPooledConnection(ConnectionPool.java:421) at artemispm.serverutil.ConnectionPool.getConnection(ConnectionPool.java:355) at artemispm.serverutil.ConnectionPool.getConnection(ConnectionPool.java:329) at artemispm.serverutil.AppMgr.getConnection(AppMgr.java:492) at artemispm.trjdbc.TRJConnection.(TRJConnection.java:46) at artemispm.trdo.TRBaseSql.getConnection(TRBaseSql.java:2903) at artemispm.service.TRDebugWriter.transmit(TRDebugWriter.java:105) at artemispm.trapplets.DataBroker.clockedTransmit(DataBroker.java:4969) at artemispm.trapplets.DataBroker.callService(DataBroker.java:3125) at artemispm.trapplets.DataBroker.callService(DataBroker.java:3103) at artemispm.trapplets.DataBroker.initTriton(DataBroker.java:325) at artemispm.trapplets.TRApplet.init(TRApplet.java:296) at sun.applet.AppletPanel.run(AppletPanel.java:425) at java.lang.Thread.run(Thread.java:662)

Build Version:?VERSION? productpm.trdo.TRSeriousException: No suitable driver found for sqlserver://localhost:1433;DatabaseName=XX at artemispm.trapplets.DataBroker.checkError(DataBroker.java:659) at artemispm.trapplets.DataBroker.callService(DataBroker.java:3129) at artemispm.trapplets.DataBroker.callService(DataBroker.java:3103) at artemispm.trapplets.DataBroker.initTriton(DataBroker.java:325) at artemispm.trapplets.TRApplet.init(TRApplet.java:296) at sun.applet.AppletPanel.run(AppletPanel.java:425) at java.lang.Thread.run(Thread.java:662)

我試圖把 sqljdbc的運行龐大的Java項目的.jar sqljdbc4.jar 在%CATALINA_HOME & \ lib文件夾,但沒有幫助

我不熟悉Java但希望有這方面的幫助。

編輯: 我的連接字符串在customer.properties文件中定義是這樣的: APP.url = SQLSERVER://本地主機:1433;數據庫名= XX

現在我將其改爲: APP.url =的jdbc:SQLSERVER://本地主機:1433;數據庫名= XX

,我有新的錯誤:

APPLICATION STARTUP FAILURE Java Runtime Environment (JRE) version 1.6 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.

如何切換到新的驅動程序?

+0

嘗試將sqljdbc.jar添加到項目的WEB-INF/lib中。 – LeonidasCZ

+1

是的,我已經把那個文件放在那裏了。除了複製它以便安裝SQL驅動程序之外,是否還需要執行其他操作? – Jalle

回答

6

您的網址應該是jdbc:sqlserver://server:port;DatabaseName=dbname

確定您輸入的內容正確嗎?

+1

,因爲它說你必須刪除sqljdbc.jar並只使用sqljdbc4.jar(不是兩個) – jonasnas

+1

如果我只留下sqljdbc4.jar,那麼我得到這個: 應用程序啓動失敗 轉換日期和/或時間從字符轉換失敗串。 com.microsoft.sqlserver.jdbc.SQLServerException:從字符串中轉換日期和/或時間時轉換失敗。 – Jalle

+0

我已經嘗試了兩種方法:在URL上添加「jdbc:」並添加sqljdbc。jar驅動程序,但沒有幫助,同樣的錯誤 – Jalle

1

從sqljdbc_4.0文檔(http://technet.microsoft.com/en-us/library/ms378526(v=sql.110).aspx):

使用sqljdbc.jar類庫,應用程序必須先註冊的驅動程序如下: 的Class.forName( 「com.microsoft.sqlserver.jdbc.SQLServerDriver」 ); 加載驅動程序時,可以使用連接URL和DriverManager類的getConnection方法建立連接:

當調用DriverManager類的getConnection方法時,將從該集合中找到適當的驅動程序註冊JDBC驅動程序。 sqljdbc4.jar文件包含「META-INF/services/java.sql.Driver」文件,其中包含com.microsoft.sqlserver.jdbc.SQLServerDriver作爲註冊驅動程序。當前使用Class.forName方法加載驅動程序的應用程序將繼續工作而不進行修改。

3

我試過上面的答案,他們本身並沒有幫助我。我不得不再嘗試一些。

所以我嘗試了別的。我將「sqljdbc4.jar」文件複製到「C:\ apache-tomcat-7.0.57 \ lib \」,然後將「sqljdbc4.jar」添加到我的項目庫中。它修復了一切。

我希望這可以幫助那些仍然有麻煩。

相關問題