用VB.NET连接MYSQL或SQL SERVER连接超时卡死程序的问题
我需要每隔30秒去连接一次目标机器的MYSQL或SQL SERVER数据库,当网络不中断或数据库运行正常时没问题,一旦与目标数据库网络中断,就会存在连接超时,程序就会卡在那里不动,我把连接字符串Connection Timeout设成1秒也没用,当网络中断,一旦用mysql_conn.Open()就会卡死,请问大家用什么办法吗!?有人说用多线程,或者用什么方法可以更高效的判断数据库是否能连接
连接字符串
Const mSqlServer_ConnectionString As String = "server=192.168.1.1;" _
& "database=DB_test;" _
& "user id=root;" _
& "password=123456;" _
& "Connection Timeout=1"
连接对象
Public mysql_conn As New MySql.Data.MySqlClient.MySqlConnection(mSqlServer_ConnectionString)
mysql_conn.Open()
多线程可以避免界面悬挂,但是不能“高效判断是否能连接”。
建议你连接之前先ping一下服务器,如果通再连接,虽然也不一定成功,但可以部分避免网络中断的连接超时的问题
连接超时一般需要一定时间。所以你的程序碰到这种超时就只能等它超时返回。或者连接前,先做一次网络测试