使用BDE連結SQL 2000,只有4X個USER卻有69X個Connection!!?? |
尚未結案
|
huangchin
一般會員 ![]() ![]() 發表:3 回覆:18 積分:4 註冊:2002-12-24 發送簡訊給我 |
各位先進, 程式開發時使用Delphi 6,使用BDE元件與MSSQL 2000做連結,
這套程式約有40個USER來使用,程式的設計以TDATABASE元件與資料取得
連結,其餘如TTABLE元件皆使用這個TDATABASE來與資料庫連結,
這樣應是僅僅有40個Connection才對?但我在SQL上看到的卻有69X個,
因為整個系統運行的速度很龜,推論問題應是出在Connection上,
針對這個問題我做了個測試,發現TDATABASE在接受2個以上的TTABLE元件
連結時,第2個之後的都會再產生Connection,而ADO元件並沒有這樣的狀況,
若非得使用BDE的話,上述的狀況有機會改善嗎? Connection的數目對效能有多大的影響?
|
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
huangchin
一般會員 ![]() ![]() 發表:3 回覆:18 積分:4 註冊:2002-12-24 發送簡訊給我 |
引言: huangchin 你好 : 1. 儘早改用 TQuery 元件. 2. 每個 Connection 都會佔掉 DBServer 的一些記憶體, 當 MSSQL 的資料庫設定之 "可用記憶體" 量不夠大時, 速度就會變慢, 記得 以前的文件說, 這情況對於 MSSQL 影響"粉"大...(忘了在哪看到的). 3. 個人覺得 SQL Base 的資料庫, 最好不要用 TTable, 而 Locale 的資料庫 (Paradox,dbase...), 則盡量用 TTable, 如果現實上無法更改已使用的元 件, 則建議短程方案, 提供參考 : 3.1 加大資料庫的"記憶體"配備. 3.2 調整 MSSQL Server 的參數.Dear Mickey: 當我以TQuery做測試時發現仍會有上述增加Connection的問題,因此 我想這是BDE類元件的"特性"吧,TDataBase元件似乎沒有"資源共享" 的功能,或許應該是要及早的考慮更換資料庫存取技術如ADO或是 dbExpress等才是良策吧,謝謝您的協助. |
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
huangchin 你好 : 我測試的結果, 用 TQuery 並不會增加 Connection... 我測試大致步驟如下 :
1. Form 上放 TDatabase/ TQuery/ TTable 各一,TButton 2 個.
2. Button Click 時, Open Query1 ; 另一個 Open Table.
3. 用 Query Analyzer 下 "sp_who" 觀察 connection. 改用 ADO / DBExpress 固然是趨勢, 但是若以"目前"環境去考慮,
BDE 效率與穩定性, 仍算是可用. 但是考慮未來的支援就...
|
huangchin
一般會員 ![]() ![]() 發表:3 回覆:18 積分:4 註冊:2002-12-24 發送簡訊給我 |
引言: huangchin 你好 : 我測試的結果, 用 TQuery 並不會增加 Connection... 我測試大致步驟如下 : 1. Form 上放 TDatabase/ TQuery/ TTable 各一,TButton 2 個. 2. Button Click 時, Open Query1 ; 另一個 Open Table. 3. 用 Query Analyzer 下 "sp_who" 觀察 connection. 改用 ADO / DBExpress 固然是趨勢, 但是若以"目前"環境去考慮, BDE 效率與穩定性, 仍算是可用. 但是考慮未來的支援就... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |