⑴ 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控制台点击左侧的服务->数据源