⑴ JNDI方式配置數據池,問題是連不上遠程回資料庫,本地的是可以連接的!
資料庫配置文件里設置的正確嗎,連接不了要先檢查資料庫名,資料庫密碼以及遠程資料庫的ip是否填寫正確,你可以看下把前面的這些信息改為遠程資料庫的信息後在試。
⑵ 請問使用JDBC 和JNDI連接資料庫哪個更有優勢
jdbc就是直接連接資料庫,而jndi一般是在伺服器上配置了資料庫連接池後採用的一種方便用戶查找的方法。如果自己學習就用jdbc,但是如果做項目的話一定記得配置資料庫連接池並使用jndi,這樣快一些,也更專業一些。
⑶ 使用JNDI連接資料庫連接池問題,救命啊!!!!
最起碼的是要在web根目錄的meta-inf下建立context.xml文件讓tomcat啟動的時候讀取,幫你建立jndi名稱到數據源對象的映射啊,
比如說
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<Resource name="jdbc/mysql"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20"
maxIdel="10"
maxWait="1000"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mldn">
</Resource>
</Context>
將上面文件放在web目錄的meta-inf下面,還有你的測試代碼要在同一個web容器下運行啊,不要隨便寫個main方法就測試,那是在不同的jvm下,怎麼可能獲取到jndi對象呢,
你在問問Google老師,應該能夠解決,還有在tomcat下的lib下放置相關jar包,比如數據源,dbcp那個,還有驅動
⑷ JNDI與DataSource連接訪問資料庫的問題
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("test");
改成Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(java:comp/env/test);
記得要引如javax.naming.*這個包
Web.xml中ResourceParams name設置數據源名為test
⑸ 如何獲取weblogic配置的JNDI資料庫連接池信息
將數據源交給容器管理,使用jndi的方式管理,可以很方便的管理資料庫連接。將數據管理庫交給容器,後面工程直接使用jndi的方式在容器中獲取jndi地址。如果變更資料庫地址,直接修改資料庫連接池的地址即可,而各工程無需再一個個的修改資料庫連接地址,簡化了資料庫的管理。今天我們看看WebLogic中數據源的配置啟動WebLogic服務,進入WebLogic控制台點擊左側的服務->數據源