Re: [J2EE] 使用BIRT時無法解析jndi url??
自問自答
context.xml與web.xml的資料如前文的設定下
另外寫一個jsp網頁去讀取該JNDI是不會發生錯誤的
後來我才注意到我參考的網頁有兩個注意:
1、開發階段配置jdbc,直接鏈結資料庫。
2、發佈後,如果jdbc和jndi都配置了,會首先尋找jndi。
也就是第一項,似乎開發階段一定要配置jdbc
沒辦法只設定jndi
所以變成我要變通做法:還在unit test時jdbc與jndi都連至測試機
要連到正式機時只要修改context.xml就可以了
※ 引述《Laviathan ()》之銘言:
: 現在我在BIRT中的每張報表都要設定一次jdbc
: 我的問題是:當報表要從測試機轉到正式機時
: 都要重新調整每張報表data source設定,才能連到想要連的DB
: 網路上查到似乎改成使用jndi後
: 只要修改一次context.xml中的資料
: 就可以解決要修改每張報表data source這個問題
: 所以馬上google到幾個類似以下的作法:
: http://www.cublog.cn/u/13625/showart_399384.html
: 可是這些google到的作法,只要BIRT報表只使用jndi url時
: 就會出現以下這個錯誤:
: org.eclipse.birt.report.data.oda.jdbc.JDBCException: The selected driver
: cannot parse the given JNDI Data Source URL.
: http://www.badongo.com/pic/12302370
: 這個錯誤google了老半天好像全天下程式設計師只有我會犯這個錯誤似的 = =
: 究竟是我google錯關鍵字,還是我眼殘?? 囧rz
: 請各位大德拔刀相助解決小弟的困擾..... 甘溫啊~~~~
: 補充:
: web.xml內容如下
: <resource-ref>
: <description>test</description>
: <res-ref-name>jdbc/my_app</res-ref-name>
: <res-type>javax.sql.DataSource</res-type>
: <res-auth>Container</res-auth>
: </resource-ref>
: context.xml內容如下
: <Resource name="jdbc/my_app"
: global="jdbc/my_app"
: auth="Container"
: type="javax.sql.DataSource"
: username="root"
: password="root"
: driverClassName="com.mysql.jdbc.Driver"
: url="jdbc:mysql://localhost:3306/test"
: maxActive="8" maxIdle="4" />
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.83.153.136
討論串 (同標題文章)