连接oracle,Cannot create PoolableConnectionFactory

zhao88148201 2012-02-18 01:52:52
在spring配置文件中,相关参数:
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>

<property name="url">
<value>jdbc:oracle:thin:@localhost:1521:qq</value>
</property>
<property name="username">
<value>qq</value>
</property>
<property name="password">
<value>qq</value>
</property>

<property name="maxActive">
<value>20</value>
</property>
<property name="maxIdle">
<value>20</value>
</property>
<property name="maxWait">
<value>120000</value>
</property>
<property name="defaultAutoCommit">
<value>true</value>
</property>
</bean>

控制台上报错如下:
[ERROR] 2012-02-18 13:44:32,140 method:net.sf.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:46)
Cannot create PoolableConnectionFactory
[ERROR] 2012-02-18 13:44:32,140 method:net.sf.hibernate.JDBCException.<init>(JDBCException.java:38)
Cannot open connection
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory, cause:
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection


请高手指教,在网上也找了一些资料 无法解决在问题呀
...全文
5565 28 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanboli225852 2012-03-15
  • 打赏
  • 举报
回复
为什么我在dos下写:telnet localhost 1521,回车以后出现 telnet不是内部或外部命令,也不是可运行的程序或批处理文件,请问是什么原因
zhao88148201 2012-02-22
  • 打赏
  • 举报
回复
哎,不好意思呀,是svn版本控制的问题,我也没想到。。。sorry[Quote=引用 26 楼 ldh911 的回复:]
引用 25 楼 zhao88148201 的回复:
晕倒 还真是这个问题 谢谢你啊


我是该 汗流满面 呢?还是该 泪流满面?
[/Quote]
MiceRice 2012-02-18
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 zhao88148201 的回复:]
晕倒 还真是这个问题 谢谢你啊
[/Quote]

我是该 汗流满面 呢?还是该 泪流满面?
zhao88148201 2012-02-18
  • 打赏
  • 举报
回复
晕倒 还真是这个问题 谢谢你啊[Quote=引用 24 楼 ldh911 的回复:]
我不知道你的环境和发布方式,所以没法得到定论,但之前曾经碰到过一个哥们出现过类似的问题。
[/Quote]
MiceRice 2012-02-18
  • 打赏
  • 举报
回复 1
我不知道你的环境和发布方式,所以没法得到定论,但之前曾经碰到过一个哥们出现过类似的问题。
zhao88148201 2012-02-18
  • 打赏
  • 举报
回复
额 Eclipse里的xml和tomcat的xml会不一样吗?我已经删掉应用 再添加应用很多次了?[Quote=引用 21 楼 ldh911 的回复:]
你的配置文件里面不会有多个数据源配置吧?或者你确认Tomcat上读取的配置文件确实是你贴出来的这个?

在Eclipse里面写个单元测试类,直接用Spring把“myDataSource”这个bean弄出来试试看?
[/Quote]
zhao88148201 2012-02-18
  • 打赏
  • 举报
回复
哎 听你这么一说,那没信心了 [Quote=引用 20 楼 ldh911 的回复:]
我表示你的效果已经神奇的可以载入史册了。。。
[/Quote]
MiceRice 2012-02-18
  • 打赏
  • 举报
回复
你的配置文件里面不会有多个数据源配置吧?或者你确认Tomcat上读取的配置文件确实是你贴出来的这个?

在Eclipse里面写个单元测试类,直接用Spring把“myDataSource”这个bean弄出来试试看?
MiceRice 2012-02-18
  • 打赏
  • 举报
回复
我表示你的效果已经神奇的可以载入史册了。。。
zhao88148201 2012-02-18
  • 打赏
  • 举报
回复
这个可以连接数据库,而且我用了sql语句查询了数据库里的数据,都可以打印出来[Quote=引用 18 楼 ldh911 的回复:]
俺也很纠结,似乎说明你的Java是可以访问1521端口的。

那么另一个怀疑就是你的WebApp环境问题了,你在相同的Web应用里面新启一个JSP里面写:

<%
new Socket("localhost", 1521);

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection co……
[/Quote]
MiceRice 2012-02-18
  • 打赏
  • 举报
回复
俺也很纠结,似乎说明你的Java是可以访问1521端口的。

那么另一个怀疑就是你的WebApp环境问题了,你在相同的Web应用里面新启一个JSP里面写:

<%
new Socket("localhost", 1521);

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection con = DriverManager.getConnection ("jdbc:oracle:thin:@127.0.0.1:1521:qq", "qq", "qq");

%>

然后浏览器访问这个JSP试试看有无任何异常?
zhao88148201 2012-02-18
  • 打赏
  • 举报
回复
没有异常 哎 纠结了[Quote=引用 16 楼 ldh911 的回复:]
应该无关,我之前怀疑的是数据库没有监听localhost,或者localhost的ip解析有问题,如果是这样的话那么还可以说是跟安装配置有点因果关系。但从你telnet的测试来看应该不是这两个问题。

Java代码试试看:new Socket("localhost", 1521); 有无Exception?
[/Quote]
MiceRice 2012-02-18
  • 打赏
  • 举报
回复
应该无关,我之前怀疑的是数据库没有监听localhost,或者localhost的ip解析有问题,如果是这样的话那么还可以说是跟安装配置有点因果关系。但从你telnet的测试来看应该不是这两个问题。

Java代码试试看:new Socket("localhost", 1521); 有无Exception?
zhao88148201 2012-02-18
  • 打赏
  • 举报
回复
这样的错误会不会和数据库安装有关系呢?[Quote=引用 14 楼 ldh911 的回复:]
就是黑屏是吧?如果是黑屏说明端口是OK的。

那最后的问题就是检查是不是防火墙拦截了Java。。。。。。

可以用Socket写个简单的TCP连接代码试试看去连接localhost的1521端口。
[/Quote]
MiceRice 2012-02-18
  • 打赏
  • 举报
回复
就是黑屏是吧?如果是黑屏说明端口是OK的。

那最后的问题就是检查是不是防火墙拦截了Java。。。。。。

可以用Socket写个简单的TCP连接代码试试看去连接localhost的1521端口。
zhao88148201 2012-02-18
  • 打赏
  • 举报
回复
额 没有冒号 进去之后什么都不显示呀
[Quote=引用 12 楼 ldh911 的回复:]
telnet localhost 1521

注意哦,没有冒号!
[/Quote]
MiceRice 2012-02-18
  • 打赏
  • 举报
回复
telnet localhost 1521

注意哦,没有冒号!
MikanMu 2012-02-18
  • 打赏
  • 举报
回复
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
很明显是网络连接的问题。
zhao88148201 2012-02-18
  • 打赏
  • 举报
回复
你好,数据库是装在本机的监听地址及时127.0.0.1 telnet localhost:1521提示不能打开到主机的连接,在端口23:连接失败 是怎么回事呢?
[Quote=引用 8 楼 ldh911 的回复:]
Io 异常: The Network Adapter could not establish the connection

这个实际上是网络IO异常,也就是根本连接不到这个端口。

需要检查下你的数据库监听地址究竟是啥,是不是127.0.0.1?还是另一个IP地址?

另外就是,你试试看cmd下: telnet localhost 1521 有反应么?
[/Quote]
MiceRice 2012-02-18
  • 打赏
  • 举报
回复
Io 异常: The Network Adapter could not establish the connection

这个实际上是网络IO异常,也就是根本连接不到这个端口。

需要检查下你的数据库监听地址究竟是啥,是不是127.0.0.1?还是另一个IP地址?

另外就是,你试试看cmd下: telnet localhost 1521 有反应么?
加载更多回复(7)

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧