以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]这个网络检测的代码怎么修改?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172771)

--  作者:zto001
--  发布时间:2021/10/30 11:14:00
--  [求助]这个网络检测的代码怎么修改?
http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=62475

这代码怎么修改才能只检测sql数据库能否连接?我需要隔三分钟连接一次数据库,可是每次运行一段时间就因为没连接上数据库进入假死状态。我想先检测能否连接在连接

下面是函数代码和开发版示例:

 


以下内容只有回复后才可以浏览

‘网络状态监测函数  蓝色参数部分可以取消,引用时也不要加参数。

Dim str As DataRow = DataTables("设置").DataRows(0)
Dim ftp1 As new ftpclient
ftp1.host= str("IP")
ftp1.Port= str("Port")
ftp1.Account = str("Account")
ftp1.password = str("Password")

Dim s As String = "Provider=SQLOLEDB.1;Password=" & str("BasePassword") & ";Persist Security Info=True;User ID=" & str("User") & ";Initial Catalog=" & str("BaseName") & ";Data Source =" & str("IP")
\'GetConfigValue("DataSource","")
Dim form As String = Args(0)   \'这个参数可以取消
Forms(Form).Text = "正在连接网络,需要1分钟左右,请稍候......"
If TryConnectHost(str("IP")) = False OrElse Network.Ping(str("IP")) = False Then  ‘只加了这一句话

    \'因为TryConnectHost只判断IP地址是否可以解析,局域网的所有IP都是可以解析的,所以加了Ping命令。
    Forms(Form).Text = "网络线路中断或服务器拒绝访问,系统将退出,请联系管理员!"
    MessageBox.Show("网络线路中断或服务器拒绝访问,请联系管理员!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    Return "False"
\'ElseIf ftp1.Connect = False
    \'Forms(Form).Text = "FTP服务器拒绝访问,请联系管理员!"
    \'MessageBox.Show("FTP服务器拒绝访问,请联系管理员!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
    \'Return "False"

Else
    try
        Dim conn As ADODB.Connection
        conn = New ADODB.Connection
        conn.ConnectionString = s
        conn.Open
        Forms(Form).Text = Forms(Form).Name
        Return "True"
        conn.close
    Catch ex As Exception
        Forms(Form).Text = Err.Description
        MessageBox.Show("SQL数据库" & Err.Description & "请联系管理员!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
        Return "False"
    End try
End If

’应用示例(开发版),


--  作者:有点蓝
--  发布时间:2021/10/30 11:25:00
--  
使用这里的TryConnecthttp://www.foxtable.com/webhelp/topics/1944.htm
--  作者:zto001
--  发布时间:2021/10/30 11:30:00
--  
我现在用的是这个,一样的假死,几乎每天都有一次
--  作者:有点蓝
--  发布时间:2021/10/30 11:35:00
--  
确定假死一定是数据库连接不到引起的?!假死具体什么现象?出错?什么错误提示?

还是说一定时间不能操作,然后又可以继续操作?这种情况可能是数据库死锁,或者用户连接数满了。或者是其它什么代码比如计划管理在做什么费时间的操作,到时项目卡住了