注册 登录
编程论坛 VFP论坛

各位大侠,最近连接SQL服务器遇到一个问题,请教一下如何解决

Pgwyg 发布于 2023-09-20 09:36, 432 次点击
我一直再用如下语句与远程的SQL服务器进行数据交换,昨天突然出现问题,就是远程的SQL服务停止了,不是服务器宕机,是服务器上运行的SQL2008因系统自动升级停止了服务,
我的程序在执行con=&SQL_SJLJ语句时长时间没有反应,造成系统假死,几分钟后con返回负值,表示SQL数据连接失败。我想请教大佬,有没有快速判断指定的服务器上是否提供了SQL服务?

SQL_SJLJ="sqlstringconnect('driver=&yc_sjfw;server=&yc_fwqm;uid=&yc_xtyh;pwd=&yc_yhmm;database=&yc_sjkm') "
con=&SQL_SJLJ&&进行SQL数据连接
7 回复
#2
easyppt2023-09-20 10:18
方向不要偏哦,既然是服务器问题,就解决服务器的服务问题。

问题排除后,MSSQL服务还是非常稳定的,没必要花其他无用功。

[此贴子已经被作者于2023-9-20 10:20编辑过]

#3
yiyanxiyin2023-09-20 11:49
连接串里面超时时间设置短点, 这样就能更快的返回失败的提示
#4
iswith2023-09-20 12:09
主要还是升极,升级安全策略,而VFP的老的ODBC驱动又不兼容这个安全策略,你把更新去掉!如果是本机请把网线拔了就可以了。
#5
Pgwyg2023-09-20 16:52
回复 3楼 yiyanxiyin
大侠,我也是这种思路,但是我不会,恳请指点,谢谢!
#6
yiyanxiyin2023-09-20 17:14
SQLSETPROP(0,"ConnectTimeOut",5 )    && 连接等待时间, 全局设置
SQLSETPROP(SQL_SJLJ,"ConnectTimeOut",5 ) &&针对你的链接单独设置

试一下,  很多年没用过vpf了
#7
Pgwyg2023-09-21 06:51
回复 6楼 yiyanxiyin
大侠,今天早上试过了,均不成功,用CON=SQLConnect('数据库名','用户名','用户口令')也不行,返回负数,远程SQL服务器升级以后出现的,CON=sqlstringconnect('driver=SQL SERVER;server=服务器名;uid=用户名;pwd=用户口令;database=数据库名') 可以连接,返回正数,远程SQL服务终止后,两条指令均需等待1分钟左右才有反馈。
#8
yiyanxiyin2023-09-21 10:01
SQL_SJLJ="sqlstringconnect('driver=&yc_sjfw;server=&yc_fwqm;uid=&yc_xtyh;pwd=&yc_yhmm;database=&yc_sjkm;Connect Timeout=5') "
这样呢
1