|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Taien
註冊時間: 2005-01-11 文章: 1
第 1 樓
|
發表於: 星期四 十二月 02, 2010 8:56 pm 文章主題: VFP连接SQL SERVER 断网后再恢复网络的程序处理问题 |
|
|
VFP连接SQL SERVER后,遇到断网片刻后恢复网络,但继续执行程序会报错:
Connectivity error: [Microsoft][ODBC SQL Server Driver]通讯链接失败
请问这个问题如何处理?
链接语句如下:
(1) m_cndbsql=[provider=msdasql;driver=SQL Server;Server=]+'121.12.112.*'+[;UID=]+'sa'+[;PWD=]+'密码+[;DATABASE=]+'concord_data'
(2) m_CnDB=SQLSTRINGCONNECT(m_cndbsql)
(3) mSQLRes=SQLExec(m_CnDB,"select * from cus_mstr")
未断网前,链接成功且正常,m_CnDB=1, mSQLRes=1
断网片刻后恢复网络:
情况一:再执行一次语句(3),则无法成功返回数据,且m_CnDB=1, mSQLRes=-1。
情况二:再执行一次语句(2)和语句(3), 则正常获取数据,但m_CnDB=2, mSQLRes=1。
请教:
(一)是否在检测断网后重新处理时,可以按情况二的方式处理一次? 但m_CnDB=2 是否意味着链接1还存在被闲置了? 如果断网多次,m_CnDB值会继续增加,会不会有任何不妥?
(二)断网问题是否有更好的处理方法?
谢谢了! |
|
回頂端 |
|
|
yoncen
註冊時間: 2005-08-29 文章: 35
第 2 樓
|
發表於: 星期一 六月 06, 2011 6:54 am 文章主題: |
|
|
*!* 重新连接服务器
Local llNeedConnServer
llNeedConnServer = .T.
If chkConnHandle(gnHandle) = .T. Then
Local lnHandle
lnHandle = SQLExec(gnHandle, "")
If lnHandle > 0 Then
llNeedConnServer = .F.
Endif
Endif
If llNeedConnServer = .T. Then
Local loHandle
loHandle = Newobject("ConnectServer")
loHandle.chkConnecting(1, .F.)
If gnHandle > 0 Then
*-- 读取配置参数
Local lcIniFile
lcIniFile = Addbs(gcSystemPath) + "System.ini"
If File(lcIniFile) Then
Local lcMAIN
lcMAIN = GetIni(lcIniFile, "APPLICATION", "MAIN")
If Not Empty(lcMAIN) Then
*-- 检查主程序是否为最新版本,否则不允许重新连接
If Not chkMainFileNeedUpdate(lcMAIN, .F.) Then
SQLExec(gnHandle, "USE " + gcAccId) && 重新连接当前帐套
Else
SQLDisconnect(0) && 关闭所有连接
Endif
Else
lcErrMsg = "系统配置文件 SYSTEM.INI 参数错误!" + ;
Chr(13) + Chr(10) + "安装程序损坏,请重新安装系统。"
Messagebox(lcErrMsg, 0 + 16 + 0, "系统错误")
Endif
Else
lcErrMsg = "系统配置文件 SYSTEM.INI 不存在!" + ;
CHR(13) + Chr(10) + "安装程序损坏,请重新安装系统。"
Messagebox(lcErrMsg, 0 + 16 + 0, "系统错误")
Endif
Endif
Endif
This.QueryUnload() _________________ 從事企業ERP開發,學會止境,精益求精。 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|