我正在研究我公司的一个旧项目,用VB.NET编写(在整个应用程序中没有尝试catch块*叹气*)。基本问题是它留下了僵尸进程。
我怀疑的是它正在使用的DB调用,即ADODB连接对象来查询sql数据库。
adoConn.Open("DSN=NameOfDatabase;UID=NameOfSA;PWD=password")
我在想的是引入一个简单的DB状态检查。使用
adoConn.State
(int)
但我不确定adoConn.State的可能值是什么。 我已查看https://msdn.microsoft.com/en-us/library/adodb._connection.state%28v=vs.90%29.aspx,但没有相关信息。
我非常精通C#所以我虽然会像
0:关闭
1:正在连接
2:已连接等。
任何此类信息(适当引用)都会非常有用。
答案 0 :(得分:2)
State
属性(ADO)为所有适用对象指示对象的状态是打开还是关闭。如果对象正在执行异步方法,则指示对象的当前状态是连接,执行还是检索。
返回可以是ObjectStateEnum
值的Long值。默认值为adStateClosed
。
Constant Value Description
adStateClosed 0 Indicates that the object is closed.
adStateOpen 1 Indicates that the object is open.
adStateConnecting 2 Indicates that the object is connecting.
adStateExecuting 4 Indicates that the object is executing a command.
adStateFetching 8 Indicates that the rows of the object are being retrieved.