線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2197
推到 Plurk!
推到 Facebook!

ODBC 加 BDE 連接資料庫時斷線問題

答題得分者是:SwingGuppy
osaca
一般會員


發表:1
回覆:2
積分:0
註冊:2008-12-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-16 14:42:22 IP:61.71.xxx.xxx 訂閱
因使用 ODBC BDE 連接遠端資料庫時,user會關掉伺服器再開.造成程式錯誤
請問大大, 程式如何判斷連接遠端資料庫斷線?但當遠端伺服器重新開啟後該如何自動連上資料庫?
(程式中使用 VCL database 及 Query ).

謝謝!!
編輯記錄
osaca 重新編輯於 2008-12-16 17:54:53, 註解 無‧
SwingGuppy
初階會員


發表:1
回覆:18
積分:38
註冊:2006-12-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-18 16:06:13 IP:210.245.xxx.xxx 訂閱
這真是嚴重的問題阿!

請先克服這個再討論吧,不然任何解答都是枉費苦心。

===================引 用 osaca 文 章===================
因使用 ODBC BDE 連接遠端資料庫時,user會關掉伺服器再開.造成程式錯誤
請問大大, 程式如何判斷連接遠端資料庫斷線?但當遠端伺服器重新開啟後該如何自動連上資料庫?
(程式中使用 VCL database 及 Query ).

謝謝!!
------
受人點滴,湧泉以報。
osaca
一般會員


發表:1
回覆:2
積分:0
註冊:2008-12-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-12-19 10:44:55 IP:61.71.xxx.xxx 訂閱
謝謝 回覆.
但我的意思是該伺服器安裝資料庫(MSSQL),還有安裝其他軟體.因系統需要定期會reboot 該電腦.
.但此動作造成我德程式無法載連線資料庫.
再這種情形下,請問我該如何在伺服器再完成開機後自動連線資料庫?

謝謝!!
SwingGuppy
初階會員


發表:1
回覆:18
積分:38
註冊:2006-12-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-12-19 17:20:50 IP:210.245.xxx.xxx 訂閱
在這獻醜一下,如果有誤的話,再請版上的各位先進不吝賜教。

當客戶端連線上伺服器後,伺服器會先建立一個Connection給該客戶端使用,
之後伺服器再依據客戶端的需求產生不定數的Session供客戶端進行不定數的SQL Command來運作。
當每個SQL Command結束後,其Session也跟著結束。
客戶端程式最後下達Connection Close後,Connection便正常結束。

若伺服器在客戶端未結束Connection之前便重新開機,
此時伺服器會不管客戶端,便將所有的連線過來的Connection關閉,
所以客戶端是完全不知情的被拋棄連線。
重新開機後,伺服器裡的記憶體中也已經不存在任何的Connection,

因此當客戶端想要用原來的Connection與伺服器連線,
此時伺服器是無法提供任何該Connection相關訊息給客戶端的,
因此就會回報錯誤訊息,或是久久沒有回應。
所以客戶端只能把程式關掉重新執行,再建立新的Connection才能進行運作。

所以我的建議是在程式裡關掉所有的Connection,讓使用者重新登入連線。

===================引 用 osaca 文 章===================
謝謝 回覆.
但我的意思是該伺服器安裝資料庫(MSSQL),還有安裝其他軟體.因系統需要定期會reboot 該電腦.
.但此動作造成我德程式無法載連線資料庫.
再這種情形下,請問我該如何在伺服器再完成開機後自動連線資料庫?

謝謝!!
------
受人點滴,湧泉以報。
osaca
一般會員


發表:1
回覆:2
積分:0
註冊:2008-12-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-12-25 10:29:34 IP:61.71.xxx.xxx 訂閱
謝謝 回覆.
我再朝此方向試試看 謝謝!!
系統時間:2024-05-06 4:46:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!