全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1025
推到 Plurk!
推到 Facebook!

使用BDE連結SQL 2000,只有4X個USER卻有69X個Connection!!??

尚未結案
huangchin
一般會員


發表:3
回覆:18
積分:4
註冊:2002-12-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-11 01:19:45 IP:203.204.xxx.xxx 未訂閱
各位先進, 程式開發時使用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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-13 09:42:22 IP:218.163.xxx.xxx 未訂閱
引言: 若非得使用BDE的話,上述的狀況有機會改善嗎? Connection的數目對效能有多大的影響?
huangchin 你好 :
1. 儘早改用 TQuery 元件.    2. 每個 Connection 都會佔掉 DBServer 的一些記憶體, 當 MSSQL
   的資料庫設定之 "可用記憶體" 量不夠大時, 速度就會變慢, 記得
   以前的文件說, 這情況對於 MSSQL 影響"粉"大...(忘了在哪看到的).    >     
        
huangchin
一般會員


發表:3
回覆:18
積分:4
註冊:2002-12-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-13 21:01:47 IP:203.204.xxx.xxx 未訂閱
引言: 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-14 09:29:38 IP:218.163.xxx.xxx 未訂閱
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-15 21:15:43 IP:203.204.xxx.xxx 未訂閱
引言: 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 效率與穩定性, 仍算是可用. 但是考慮未來的支援就... 只是想說明 >< face="Verdana, Arial, Helvetica"> Mickey, 我為先前發表的TQuery也會造成Connection的言論表示歉意, 我再次的測試了一下,TQuery不會像TTable一樣有這種可怕的特性, 追究起來,是我在測試時同時放了TQuery及TTablw各4個, 大概是忘了關閉TTABLE所造成的誤判,不過我想還是換了會比較好, 至少未來也比較不會"痛苦"....
系統時間:2024-09-09 10:52:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!