ConnectionTimeout与CommandTimeout的区别 |
答題得分者是:azurecloud
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
azurecloud
中階會員 發表:52 回覆:108 積分:92 註冊:2003-09-04 發送簡訊給我 |
Hi,luowy651 您好:
ConnectionTimeout 是指在「連接」時,預定終止的時間,例如說下
ADOConnection1.open; 然後過了15秒(預設 ConnectionTimeout為15秒)程式沒
收到資料庫系統的回應的話,就會回應一個例外(Exception)。
而 CommandTimeout 則是指 「執行」某些動作的預定終止時間,例如說下
ADOConnection1.Execute(...)時,尤其是當處理的資料量愈大時,處理時間會
愈久,若是在 CommandTimeout(預設 30秒)之前還沒做完,沒傳回成功的回應訊
息的話,也會產生一個例外(Exception)。
個人是覺得 ConnectionTimeout 的時間不必特意去設定,但 CommandTimeout 若是你需要處理大量資料時不妨設大一點較好。
像這樣的問題建議您先查詢 Delphi 本身的 help 檔案,搜尋 TADOConnection 就可看其子項目的說明,以下貼出 Help 檔原文。 Specifies amount of time to attempt a connection. property ConnectionTimeout: Integer; Description Use ConnectionTimeout to specify the amount of time, in seconds, that can expire before an attempt to make a connection is considered unsuccessful. The default value is 15 seconds. If a connection is successfully made prior to the expiration of the seconds specified or the Cancel method is called, ConnectionTimeout has no effect. If the specified time expires and a connection has not been successfully made, the attempt is terminated and an exception is raised. **********************************************************************
Specifies amount of time to attempt execution of a command. property CommandTimeout: Integer; Description Use CommandTimeout to specify the amount of time, in seconds, that that can expire before an attempt to execute a command is considered unsuccessful. The default value is 30 seconds. If a command successfully executed prior to the expiration of the seconds specified in CommandTimeout, this property has no effect. If execution of a command has not been successfully completed before the time has elapsed, the command is canceled. 希望幫的上忙。 ===========
努力修行中...
===========
|
azurecloud
中階會員 發表:52 回覆:108 積分:92 註冊:2003-09-04 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
azurecloud
中階會員 發表:52 回覆:108 積分:92 註冊:2003-09-04 發送簡訊給我 |
Hi,luowy651 您好:
我想您說的應該是在設定 ADOConnection 元件的 connectionstring屬性
時,用自行 build 連接字串時,如下圖的 general timeout 吧?
對不起,小弟也查不到這個屬性的資料,我猜想它是屬於 windows api 的屬
性而不是 Delphi 的,或許你可以用上面這張圖另外提問,讓其他先進為您解答。網址如下
http://delphi.ktop.com.tw/loadfile.php?TOPICID=14207709&CC=317751 我個人的感覺是 connection timeout 不必特別去更改設定(也從沒改過general timeout),
若是預設的時間內連不上,通常都是資料庫所在的 server 出了什麼問題,除
非您的資料庫是放在網際網路上,無法控制網路連接的時間那才另當別論,給您參考。 ===========
努力修行中...
===========
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |