java网站中的连接错误.Tnsping表示服务正在运行



我有一个在windows7中运行的java网站应用程序,它使用oracle数据库来实现其功能。数据库具有默认SID名称orcl。当我使用tnsping时,我可以看到orcl服务是活动的。除一部分外,大部分应用程序都运行良好。我想知道是否有人可以帮助我解决以下错误:-

1. cause:
message:null,java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.olat.course.statistic.StatisticAutoCreator.createController(StatisticAutoCreator.java:73)
at org.olat.course.statistic.StatisticActionExtension.createController(StatisticActionExtension.java:40)
at org.olat.course.statistic.StatisticMainController.createController(StatisticMainController.java:80)
at org.olat.core.gui.control.generic.layout.GenericMainController.getContentCtr(GenericMainController.java:258)
at org.olat.core.gui.control.generic.layout.GenericMainController.event(GenericMainController.java:221)
at org.olat.core.gui.control.DefaultController.dispatchEvent(DefaultController.java:196)
2. cause:
message:Could not get JDBC Connection; nested exception is java.sql.SQLException: The Network Adapter could not establish the connection,org.springframework.jdbc.CannotGetJdbcConnectionException
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:381)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:455)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:463)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:471)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:476)
at org.springframework.jdbc.core.JdbcTemplate.queryForLong(JdbcTemplate.java:480)
at org.olat.course.statistic.SimpleStatisticInfoHelper.doGetFirstLoggingTableCreationDate(SimpleStatisticInfoHelper.java:63)
at org.olat.course.statistic.SimpleStatisticInfoHelper.getFirstLoggingTableCreationDate(SimpleStatisticInfoHelper.java:81)
at org.olat.course.statistic.StatisticDisplayController.getStatsSinceStr(StatisticDisplayController.java:517)
3. cause:
message:The Network Adapter could not establish the connection,java.sql.SQLException
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:480)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
4. cause:
message:The Network Adapter could not establish the connection,oracle.net.ns.NetException
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:328)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:421)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:634)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:208)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
5. cause:
message:Connection timed out: connect,java.net.ConnectException
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.(Socket.java:372)
at java.net.Socket.(Socket.java:186)
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:127)

您是否在/src/main/java.org/olat/course/sttatistic/\uspring/sttatisticContext.xml中实现了Oracle特定的模板?这有点特定,因为日志基础结构具有一些特定于数据库供应商的元素。

请注意,Oracle在OLAT和OpenOLAT中都不受官方支持。使用Oracle时还有其他已知问题,例如NULL值处理。MySQL和Oracle在这方面有不同的理念。这些问题无法在hibernate层中解决,您必须测试整个应用程序并更改代码。

如果您正在使用OpenOLAT(http://www.openolat.org)并且愿意为Oracle兼容性调整做出贡献,请订阅OpenOLAT邮件列表并将您的补丁发送给我们。

干杯Florian

相关内容