簡體   English   中英

在WebSphere 8.5中查找JDBC DataSource

[英]Lookup a JDBC DataSource in WebSphere 8.5

我想在我的webapp中使用JDBC Connetion,這是在WebSphere中配置的。 (就像這里的那個如何在JavaEE中使用JDBC?

我之前通過JPA使用過這個DataSource,但是我們的客戶希望擁有原生SQL ...不要問。

我發現了很多示例和教程(例如http://www.wickcentral.com/java/dl/ds_resreferencesetts_Websphere.pdf,Websphere JNDI查找失敗 )但是沒有什么可以工作的。

WebSphere中的DataSource具有JNDI名稱“jdbc / myDS”

我在我的web.xml中添加了一個resource-ref:

<resource-ref>
    <res-ref-name>jdbc/myDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
 </resource-ref>

我試着在我的Dao中獲取DataSource:

ds = (DataSource) new InitialContext()
                .lookup("java:comp/env/jdbc/myDS");

但我得到的是一個

 com.ibm.wsspi.injectionengine.InjectionException: CWNEN0044E: A resource reference binding could not be found for the following resource references [jdbc/myDS], defined for the MyAPP component.

我嘗試了很多。 有沒有人看到這個錯誤?

在安裝過程中,您是否將Web-app定義的數據源與Websphere定義的數據源匹配? Websphere通常會要求您在安裝過程中檢測到資源時綁定資源(如果我沒記錯的話,它位於名為“將參考資源映射到資源”的步驟中)。

其他常見問題是與您的應用程序不同的上下文(Cell / Node / Server)中的Websphere數據源,因此無法在運行時找到它。

您需要在ibm-web-bnd.xml中添加綁定:

<resource-ref name="jdbc/myDS" binding-name="jdbc/myDS" />

暫無
暫無

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

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