【发布时间】:2010-05-18 05:00:07
【问题描述】:
由独立代码建立的数据库连接与由部署在 sun java web 服务器中的 web 应用程序建立的数据库连接有什么区别。
用于连接数据库的代码,单独运行时db连接成功。但是部署时我的 Web 应用程序中的相同代码无法建立数据库连接。数据库通过VPN远程访问。
公共 OracleConnectionPoolWrapper(DBInfo 数据源) 抛出 SQLException { OracleConnectionCacheImpl ora; OracleConnectionPoolDataSource oracleConnectionPoolDataSource = new OracleConnectionPoolDataSource(); oracleConnectionPoolDataSource.setURL(dataSource.getConnectionString()); oracleConnectionPoolDataSource.setUser(dataSource.getUserName()); oracleConnectionPoolDataSource.setPassword(dataSource.getPassword()); ora = new OracleConnectionCacheImpl(oracleConnectionPoolDataSource); ora.setMaxLimit(dataSource.getPoolSize()); ora.setCacheScheme(1); 连接 con = ora.getConnection(); }
上面是我的应用程序中的一段代码,用于连接通过 VPN 访问的数据库。当建立VPN连接时,这段代码作为独立程序运行时,它成功连接到数据库。但是在 Sun java web 服务器中部署具有相同代码并且已建立 VPN 连接的 web 应用程序无法连接到数据库。我收到以下错误
Io 异常:网络适配器无法建立连接 [15/Feb/2010:16:31:31] 警告(4308):CORE3283:stderr:java.sql.SQLException:Io 异常:网络适配器无法建立连接 [15/Feb/2010:16:31:31] 警告 (4308): CORE3283: stderr: at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
【问题讨论】:
-
请详细说明“不能”。请从开发人员(代码)的角度进行详细说明,而不是从最终用户的角度。在编码级别究竟发生了什么?在编码级别not到底发生了什么?如果有任何异常/消息/堆栈跟踪,请编辑您的问题以原样复制粘贴。
标签: java database-connection database