解决: SQL Error: 0, SQLState: null

错误信息如下:

警告: SQL Error: 0, SQLState: null
2010-4-20 13:34:50 org.hibernate.util.JDBCExceptionReporter logExceptions
严重: Cannot create PoolableConnectionFactory
2010-4-20 13:34:50 org.hibernate.cfg.SettingsFactory buildSettings
警告: Could not obtain connection metadata
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory, cause: 
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
    at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:441)
    at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    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)
    ..

分析原因:
1.本次上生产的项目是SSH,hibernate配置jdbc的主数据源和从数据源的问题,主数据源和从数据源走的是JDBC,而其他数据源走的是jndi(在weblogic中配置的)。因为主数据源和从数据源没有改过来,所以会报如上的错误。
2.在必应上查的是,说Oracle监听没有启动,因为在生产环境,数据库其他系统在用,所有排除次可能。
附上:启动oracle数据库监听的操作:
1.进入Oracle数据的终端:
2.查看监听:lsnrctl status
看看这中间的sid有没有你数据库连接的实例
3.启动监听:lsnrctl start

其他:
(停止监听:lsnrctl stop)

其他报错 .配置weblogic的时候,碰到报错SID,
        把 url 中的 ```/``` 改成 ```:```试试。

你可能感兴趣的:(数据库)