我目前遇到的问题是甲骨文的开放票,但与此同时我需要找到解决方法。
我在vb.net中开发了一个Windows服务,它“监听”进入Oracle数据库队列的传入请求。 Oracle正在调查的问题是,在大约20分钟不活动之后,即队列中没有新请求,服务显然无法注意到任何进入队列的新请求。无论我等多久,服务都无法检测到任何其他内容。
到目前为止解决问题的解决方案是在任务计划程序中有一个任务,每20分钟触发一次并重新启动服务,这显然不太理想。
我想知道是否有任何方法可以在我的代码中实现“保持活动”命令或“ping”到数据库以模拟连接中的某些活动。
这是我打开连接的方式。
oConn = New OracleConnection(connectionString)
oConn.Open()
我能用这个做点什么吗?我查看了OracleConnection类,但似乎没有任何对这种情况有用的东西。
提前致谢!
答案 0 :(得分:0)
我不知道它是否会有所帮助,但是 - 你走了。
正如你提到的“ping”,TNSPING会有什么好处吗?
C:\>tnsping xe
TNS Ping Utility for 64-bit Windows: Version 11.2.0.2.0 - Production on 09-SIJ-2018 23:52:
Copyright (c) 1997, 2014, Oracle. All rights reserved.
Used parameter files:
C:\Users\lf\Documents\E_0_library\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = lf.dat
CT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))
OK (10 msec)
C:\>
或者,如果它不能使连接保持活动状态,那么最便宜的选项可能是
SQL> select * from dual@xe;
D
-
X
SQL>
这些选项可能太简单了。希望其他人能够更好地提供帮助。