資料庫的連結問題... |
尚未結案
|
Theodore
一般會員 ![]() ![]() 發表:11 回覆:10 積分:4 註冊:2003-05-15 發送簡訊給我 |
小弟目前在資料庫連結上有點問題,
情形是這樣的.
程式是以AP形式去撰寫, 啟動後會去做資料庫連結(資料庫在別台伺服器).
若一開始是可以連的, 程式都沒有問題.
但是, 若資料庫伺服器重啟動, AP 沒跟著重啟動的話,
程式在資料庫動作部份都會發生問題.
我是用ADOTable 和 ADOQuery 透過 ODBC 去連 MSSQL 錯誤訊息大致是 [Microsoft][ODBC][Shared Memory]ConnectionWrite() ... 該怎麼做才能像 ASP 一樣, 資料庫的重啟動, AP 的做法都沒有變更一樣能跑呢?
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
可以利用try-except-end去處理,在except-end之間,去檢查錯誤的訊息是否是因為connection斷掉所導致的,如果是的話,試著再重新呼叫的TADOConnection.Connected:=True,再出現錯誤,那就是無法連接資料庫,就show出錯誤訊息給user知道.code大概如下:
try ADOQuery1.Active:=True; except on E:Exception do begin if pos('[Microsoft][ODBC][Shared Memory]ConnectionWrite',E.Message)>0 then begin try ADOConnection.Connected:=False; ADOConnection.Connected:=True; except on E:Exception do begin raise Exception.Create('連接資料庫失敗,錯誤訊息如下:'#13 E.Message); end; end; ADOQuery1.Active:=True; end else raise Exception.Create('讀取資料失敗,錯誤原因如下:'#13 E.Message); end; end;這樣了嗎? 引言: 小弟目前在資料庫連結上有點問題, 情形是這樣的. 程式是以AP形式去撰寫, 啟動後會去做資料庫連結(資料庫在別台伺服器). 若一開始是可以連的, 程式都沒有問題. 但是, 若資料庫伺服器重啟動, AP 沒跟著重啟動的話, 程式在資料庫動作部份都會發生問題. 我是用ADOTable 和 ADOQuery 透過 ODBC 去連 MSSQL 錯誤訊息大致是 [Microsoft][ODBC][Shared Memory]ConnectionWrite() ... 該怎麼做才能像 ASP 一樣, 資料庫的重啟動, AP 的做法都沒有變更一樣能跑呢? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |