2013-10-08 61 views
1

Hy guys,使用外部罐子。沒有找到合適的驅動程序爲jdbc:sqlserver

我正面臨一個非常「通用」的問題與SQL驅動程序。但不知道如何解決。艾爾雷迪嘗試了幾乎所有的解決方案。

環境是:

-Principal JAR:此包含的所有登錄和DB訪問經由休眠

-WebService WAR:這具有2行的代碼和來電特等JAR

-Jboss:運行在JBoss WebService的AS 7.1

我的問題是:

啓動服務器後,當我打電話it's方法我recive以下錯誤:

20:39:20,948 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-localhost-127.0.0.1-8080-1) SQL Error: 0, SQLState: 08001 
20:39:20,949 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-localhost-127.0.0.1-8080-1) No suitable driver found for jdbc:sqlserver://localhost;databaseName=SIPAAM; 

我的JAR也有一個測試類,如果我執行該類一切工作正常。它訪問數據庫並獲取所有數據問題。但是當我在我的WebService上引用它時,它會給出這個錯誤。 也是我的持久性XML(位於.JAR項目)

enter image description here


附加信息:

我的web服務代碼:

@WebMethod 
    public List<DadosPreProcessamento> getDadosPreProcessamento() 
    { 
     DadosPreProcessamentoController dadosPreProcessamentoController = DadosPreProcessamentoController.getInstance(); 
     return dadosPreProcessamentoController.getLista_dadosPreProcessamento(); 
    } 

我Hibernate查詢(JAR內部):

Query listQuery = em.createQuery("select object(c) from " 
        + entityClassName + " as c"); 
return listQuery.getResultList(); 

getResultList()方法發生錯誤。


我已經alredy嘗試添加我的WS項目sqljdbc4庫,你可以在PIC波紋管看到:

WS Libs Config

WS Deploy config

回答

0

已解決!

添加了SQL罐子到:

〜\ jboss7 \模塊\組織\冬眠\主

這條線在標籤的module.xml底部上上面的「主」文件夾。

<resource-root path="sqljdbc4.jar"/> 
0

您還需要添加sqljdbc .jar文件到您的類路徑。您可以通過在包資源管理器中單擊Java資源並在包中找到類來驗證驅動程序是否在jar中。

+0

在那裏,如果我使用packge資源管理器打開我的主體.JAR,它將在文件夾lib(在jar中)顯示sqljdbc4。我也有WebService項目的lib文件夾中的sqljdbc4。 (alredy試過了,沒什麼變化) –

+0

你需要sqljdbc.jar和sqljdbc4.jar。 – bh5k

+0

如果您從Microsoft下載如果包含兩個jar文件:http://www.microsoft.com/en-us/download/details.aspx?id=11774 – bh5k

0

驗證您的JAR庫中包含的manifest.mf文件中字段Class-Path的值;如果它沒有聲明它包含sqljdbc.jar,那麼將無法從JAR外部訪問該依賴項。

您也可以做一點實驗:解壓縮JAR,從清單中刪除Class-Path字段並重新打包;應用程序將強制檢查內容,因此它應該可以工作。

相關問題