VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

用 sqlconnect(),SQLstringconnect() 函數來進行測試是否連線,結果都傳回小於 0

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Abel



註冊時間: 2005-03-14
文章: 189
來自: 鹿港小鎮

第 1 樓

發表發表於: 星期四 四月 06, 2006 2:25 pm    文章主題: 用 sqlconnect(),SQLstringconnect() 函數來進行測試是否連線,結果都傳回小於 0 引言回覆

各位大大請幫幫,謝謝各位 大大 大大 Crying or Very sad
因為要去除因連線上的錯誤,不讓程式中斷(死在那裡!)
找了許多的資料,因為小弟程度實在太差,所以使用
sqlconnect(),SQLstringconnect() 函數來進行測試 …
結果在 client 測試時,出現了奇怪的錯誤,就是傳回值都小於 0,
(不論是否設定 odbc,或是已經事先連通了後端的 servre,它們的傳回值都小於 0,
但是在自己的開發系統內又能正常…,所以我就 …, Question
或是有什麼替代方法,不讓程式因無法連線而死在那裡。) Shocked

程式環境如下:
開發程式vfp9, 使用 remote view 經 odbc 在 len 中叫用,
程式置於 client, dataserver 為 SQL 2000,

程式由一個 prg 然後 Do 一個 Form,
以下就是 prg 程式,而我就是在這裡使用
sqlconnect(),SQLstringconnect()來進行測試…

Set Confirm Off
SET SAFETY OFF
Clear
Close All
Clear All
Release All

Wait Window "搜尋 遠端伺服 資料來源 … …"+Chr(13)+"請稍後!" At 15,45 Nowait Noclear

nConnectHandle = Sqlstringconnect("DSN=Server1;Uid=sa;pwd=xxx;database=HONEY123")
*nConnectHandle = Sqlconnect('Server1','sa','xxx')
&& 這兩種都傳回小於 -1 值

If nConnectHandle < 0
Messagebox('很抱歉!目前無法提供連線,請您檢查連線設備與設定 … '+Chr(13)+Chr(13)+;
'或是連絡 企劃部 Abel,謝謝',0+16,','程式無法順利執行')
Else
SQLDisconnect(nConnectHandle)
Endif

If nConnectHandle > 0
On Shutdown Clear Events

Do Form sell_count Name Main Linked
Wait Clear
Read Events

Wait Window "中斷 遠端伺服 資料來源 … …"+Chr(13)+"請稍後!" At 15,35 Nowait Noclear
On Shutdown
Endif

Close All
Clear All
Wait Clear
Quit
Release All
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 2 樓

發表發表於: 星期四 四月 06, 2006 2:59 pm    文章主題: 引言回覆


nConnectHandle = Sqlstringconnect("DSN=Server1;Uid=sa;pwd=xxx;database=HONEY123")

改用
nConnectHandle = Sqlstringconnect("DRIVER=SQL Server;SERVER=主機名稱或IP;UID=sql的使用者;PWD=你的密碼;DATABASE=後端資料庫;Trusted_Connection=no")
或是採用信任連線
nConnectHandle = Sqlstringconnect("DRIVER=SQL Server;SERVER=主機名稱或IP;DATABASE=後端資料庫;Trusted_Connection=yes")

MsSql 2005 則用
nConnectHandle = Sqlstringconnect("DRIVER=SQL Native Client;SERVER=主機名稱\sqlExpress;Trusted_Connection=Yes;DATABASE=後端資料庫;")

另外可以事先設定
SQLSETPROP(0,'ConnectTimeOut',3) &&--等3秒 + 前後處理時間 ? 秒
再去做連線的動作,
則在萬一不能連線的情形下,
電腦會比較快做出錯誤的回應.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Abel



註冊時間: 2005-03-14
文章: 189
來自: 鹿港小鎮

第 3 樓

發表發表於: 星期五 四月 07, 2006 12:20 pm    文章主題: 引言回覆

真的十分感謝 garfied 大大的指導,您真是我的明燈、偶像

修正 DRIVER=SQL Server 再加上 Trusted_Connection=no
就可以正常傳回傳回值,而不是永遠的 -1

謝謝您的協助,獻上最敬禮 ~
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 4 樓

發表發表於: 星期五 四月 07, 2006 5:11 pm    文章主題: 引言回覆

您太客氣了.
明燈不敢當,
只是螢火之光.
照亮一點點小路而已. ^^

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作