怎么java的人气这么差吗?
我同事的连接都没有问题,偏偏我的出了问题?一模一样的配置,只是他们连的公共服务期上的数据库,我连的是本机数据库而已。
顺便发发牢骚,我以前是用vb+sqlserver、asa的,后来改用vb+Oracle,Oracle是不错,只是自身带的文档也太烂了,提示问题不清不楚,连接起来问题多多。远不如连接sqlserver那么顺当。
现在用java+oracle,简直是惊了,配置manifest差一个空格、少一个回车换行都不行,如果格式严谨也可以,那你在文档中醒目提示一下也行呀,根本没有!又是配系统路径,又是配环境变量,怎么跟我们公司的产品似的,没有专业人士指导,用户根本就搞不定!没有人指导,真可谓是一个屁大的问题折腾三天。jdk文档里连个范例都不给,比msdn差了n倍!
我同事的连接都没有问题,偏偏我的出了问题?一模一样的配置,只是他们连的公共服务期上的数据库,我连的是本机数据库而已。
顺便发发牢骚,我以前是用vb+sqlserver、asa的,后来改用vb+Oracle,Oracle是不错,只是自身带的文档也太烂了,提示问题不清不楚,连接起来问题多多。远不如连接sqlserver那么顺当。
现在用java+oracle,简直是惊了,配置manifest差一个空格、少一个回车换行都不行,如果格式严谨也可以,那你在文档中醒目提示一下也行呀,根本没有!又是配系统路径,又是配环境变量,怎么跟我们公司的产品似的,没有专业人士指导,用户根本就搞不定!没有人指导,真可谓是一个屁大的问题折腾三天。jdk文档里连个范例都不给,比msdn差了n倍!
命令行运行就出错。
用Oracle驱动或Weblogic提供的Oracle驱动出同样的错误。
命令行运行就出错。
用Oracle驱动或Weblogic提供的Oracle驱动出同样的错误。
TestConnectionsOnReserve 选项如果被选中,当你的程序需要从连接池中获取连接的时候,weblogic会自动的调用一条sql语句,比如说“select count(*) from tableA”来判断这个连接是不是可以使用,是不是坏连接,如果是坏连接则会从连接池中被抛弃,否则的话就返回一个引用给你的程序,sql中的tableA就是TestTableName属性的值
同理TestConnectionsOnRelease就是在你的程序使用完连接,返回给连接池的时候来检测返回的连接是否还有效不是JNDI的问题!
另外看看日志文件。或者先用正常的连接方式连连看,慢慢找再用连接池试试!
谢谢你,我的第一个问题解决了,在weblogic中测试通过,
但在java中仍然连接不上数据库。
你说的对,不应该这么写,我找到原因了。不能在未发布的java文件中调用使用连接池的bean,看来只能用直连来测试了。
老兄原来是不是vb版的?看着眼熟,解决方法就是:
不能在未发布的java文件中调用使用连接池的bean,看来只能用直连来测试了。我刚开始学java,做jsp,对classpath呀、weblogic的配置呀、包呀都感到很混乱,所以就糊里糊涂的用java文件调用使用连接池的bean了,weblogic是web服务器,怎么可能在那上面应用cs结构的测试呢。糊涂了。
老兄原来是不是vb版的?看着眼熟,解决方法就是://///////////
呵呵,眼力不错,本人目前是VB数据库版和JAVA基础版的版主,欢迎大家前来捧场,共同学习!!
Properties containerEnv = new Properties();
containerEnv.setProperty("java.naming.factory.initial",
"weblogic.jndi.WLInitialContextFactory");
containerEnv.setProperty("java.naming.provider.url","t3://127.0.0.1:7001");DataSource ds=null;
Connection con = null;
try
{
InitialContext ctx = new InitialContext(containerEnv);
ds = (javax.sql.DataSource)ctx.lookup("DbOracle");
con = ds.getConnection();
}catch(Exception e){
System.out.println(e.getMessage());
}