在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
请高手指教,在网上也找了一些资料 无法解决在问题呀

解决方案 »

  1.   

    不能创建sessionFactory一定是你的配置文件出错了!看看你的连接字符串对不对!
      

  2.   

    配置文件的相关内容已经贴出来了啊 ,帮忙看看行吗?需要其他的内容请告诉我,我也可以贴出来,因为太多了 所以没有把xml的文件全部贴出来了
      

  3.   

    Io 异常: The Network Adapter could not establish the connection看起来主要问题是这个,有更完整的异常信息么?
     <value>jdbc:oracle:thin:@localhost:1521:qq</value>localhost换成127.0.0.1 试试看?
      

  4.   

    Cannot open connection
    org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory, cause: 
    java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:82)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:838)
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:821)
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)
    at org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:44)
    at net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:257)
    at net.sf.hibernate.impl.SessionImpl.connect(SessionImpl.java:3286)
    at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3269)
    at org.springframework.orm.hibernate.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:245)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:171)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:136)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:196)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:135)
    at $Proxy39.loadSysUser(Unknown Source)
    at com.kingtake.system.action.LoginAction.login(LoginAction.java:77)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:275)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.kingtake.common.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:78)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at tools.sso.SSOFilter.doFilter(SSOFilter.java:50)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
    at java.lang.Thread.run(Unknown Source)
    [WARN ] 2012-02-18 15:28:10,375 method:org.springframework.orm.hibernate.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:249)
    Could not set JDBC connection read-only
    net.sf.hibernate.JDBCException: Cannot open connection
    at net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:260)
    at net.sf.hibernate.impl.SessionImpl.connect(SessionImpl.java:3286)
    at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3269)
    at org.springframework.orm.hibernate.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:245)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:171)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:136)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:196)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:135)
    at $Proxy39.loadSysUser(Unknown Source)
    at com.kingtake.system.action.LoginAction.login(LoginAction.java:77)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:275)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.kingtake.common.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:78)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at tools.sso.SSOFilter.doFilter(SSOFilter.java:50)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
    at java.lang.Thread.run(Unknown Source)
    Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory, cause: Io 异常: The Network Adapter could not establish the connection
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:825)
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)
    at org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:44)
    at net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:257)
    ... 39 more
    上面就是异常信息  麻烦你了
      

  5.   

    Io 异常: The Network Adapter could not establish the connection这个实际上是网络IO异常,也就是根本连接不到这个端口。需要检查下你的数据库监听地址究竟是啥,是不是127.0.0.1?还是另一个IP地址?另外就是,你试试看cmd下: telnet localhost 1521   有反应么?
      

  6.   

    你好,数据库是装在本机的监听地址及时127.0.0.1 telnet localhost:1521提示不能打开到主机的连接,在端口23:连接失败  是怎么回事呢?
      

  7.   

    java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
    很明显是网络连接的问题。
      

  8.   

    telnet  localhost  1521注意哦,没有冒号!
      

  9.   

    就是黑屏是吧?如果是黑屏说明端口是OK的。那最后的问题就是检查是不是防火墙拦截了Java可以用Socket写个简单的TCP连接代码试试看去连接localhost的1521端口。
      

  10.   

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

  11.   

    俺也很纠结,似乎说明你的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试试看有无任何异常?
      

  12.   

    这个可以连接数据库,而且我用了sql语句查询了数据库里的数据,都可以打印出来
      

  13.   

    你的配置文件里面不会有多个数据源配置吧?或者你确认Tomcat上读取的配置文件确实是你贴出来的这个?在Eclipse里面写个单元测试类,直接用Spring把“myDataSource”这个bean弄出来试试看?
      

  14.   

    额  Eclipse里的xml和tomcat的xml会不一样吗?我已经删掉应用 再添加应用很多次了?
      

  15.   

    哎,不好意思呀,是svn版本控制的问题,我也没想到sorry
      

  16.   

    为什么我在dos下写:telnet localhost 1521,回车以后出现 telnet不是内部或外部命令,也不是可运行的程序或批处理文件,请问是什么原因