資料庫程序連線過多導致資料庫假死如何解決 急急

2022-05-31 20:51:45 字數 3503 閱讀 8687

1樓:

如果確實不是因為使用的人多造成伺服器崩潰的話,你需要檢查具體連線資訊,很可能是程式連線資料庫,沒有釋放連線,造成乙個程式多次連線資料庫,把資料庫給拖死了。那就需要改程式了。否則你需要買個更強大的伺服器來支撐這麼龐大的訪問需求。

winform 連線不上資料庫時,容易導致視窗假死, 使用了多執行緒來讓視窗也能移動,出現了以下問題 5

2樓:匿名使用者

判斷是否可以連線的資料庫連線字串設定timeout時間,設成個5秒或10秒。

3樓:匿名使用者

要確定是否可以連線的資料庫連線字串中設定超時時間設定為5秒或10秒。

4樓:匿名使用者

因為你的多執行緒沒用對

.net讀取大量資料庫資訊假死 150

5樓:

頁面假死,可能是瀏覽器的問題吧,瀏覽器處理大量資料也需要時間------------------------------建立多執行緒

傳入引數到子執行緒、從子執行緒傳出引數

thread 的.join()可使子執行緒把任務做完了才繼續主線程----------------------------------

6樓:匿名使用者

是一次開啟的資料庫連線太多,還是因為資料量太大。

如是前一種 要記得關連線

如果是後一種 可以試試 一次返回的少量的資料 分頁處理,當然 也可以採用緩衝技術

如果採用多執行緒到是不一定可以解決你上面說的問題呢

7樓:匿名使用者

用儲存過程做個分頁,不就都解決了。

大量資料 沒理由不用分頁吧。看都把人看瘋了

8樓:

讀取大量資料一定會在第一次編譯website的時候造成假死現象,碰到類似

這樣的問題,建議你還是不要去鑽牛角尖,老老實實的用分頁去做,先把部分資料讀取到快取裡面,這樣的做法才是明智的.否則,去找micarsoft問他們什麼

時候可以把效能提高到讀取100w條資料而不造成假死的效能吧~^_^

9樓:匿名使用者

使用多執行緒,把讀取資料的方法放在乙個單獨的執行緒了,否則單執行緒的話是阻塞執行緒, 直到讀取結束, 介面(因為就乙個執行緒,所以也是處理邏輯的執行緒)執行緒一直假死.

thread thread = new thread(new threadstart(this.method1));

private void method1()

10樓:爆公尺花網

個人認為沒有必要一次性把所有資料返回,應該也沒有這樣的需求吧!可以考慮分頁獲取資料。

sql server:select top pagesize from tablename where primarykeyid not in (select top (page - 1) * pagesize primarykeyid from tablename)

oracle:select * from (select rownum rn,columnname,.. from tablename where rownum <= page * pagesize) where rn > (page - 1)*pagesize

11樓:

資料量太大當然需要時間啊!你一次行沒必須把這麼多資料多出來啊

12樓:

作個真分頁就可以了,逐段讀取資料庫資訊就好

c# 窗體 資料庫 連線 假死

13樓:幸巴達

用非同步查詢,也就是多執行緒,不然會使介面假死。

也可以用backgroundworker控制項,會容易點。

14樓:匿名使用者

以前遇到過類似情況,根本原因就是沒有使用多執行緒。窗體程式是基於訊息對映機制的,需要乙個主線程來維持窗體上的訊息響應,當你的程式執行到listen方法時,即轉入偵聽程式也就類似於迴圈等待,所以窗體不響應,因為主線程去偵聽去了,沒有別的執行緒來維持窗體的訊息對映,所以窗體陷入假死狀態,即沒有響應,當client程式連線到伺服器之後,listen方法得到返回值,即可以繼續執行,所以 窗體開始響應。至於你說的實現迴圈監聽,實質上也就是在服務端獲取客戶端套接字之後 設定乙個while語句來迴圈接收客戶端發來的資訊並顯示。

當然首先你要做的就是採用多執行緒機制,這個是最重要的!不知道我說清楚沒有...

15樓:落月

使用多執行緒:

把獲取資料、繫結的操作,放到乙個單獨的函式裡,比如void myfunc()

然後在form1_load裡,使用以下**進行呼叫:

system.threading.thread th = new system.

threading.thread(new system.threading.

threadstart(geth));

th.start();

這樣,就不會假死啦。

16樓:匿名使用者

把取資料繫結介面的操作放到乙個新執行緒去進行。

iis程式池假死,導致無法訪問access資料庫怎麼解決? 50

17樓:匿名使用者

asp的資料庫連線字串貼出來看看, mdb有好幾種連線方式

併發使用者多嗎? 如果有可能的話還是公升遷到sql裡

18樓:平凡度

關閉瀏覽器再開就可以了

19樓:舞碸

報什麼錯誤啊 沒錯如何解決?

20樓:

資料庫訪問後有關閉連線,close()嗎?

sql資料庫總是假死或死鎖。

21樓:sql的藝術

建議:1、使用事件探查器,跟蹤一下sql在死鎖之前執行了哪些sql語句

2、多數死鎖是因為程式沒有經過嚴格的測試造成的3、少部分原因是因為觸發器巢狀造成的,sql有內部機制,當巢狀到一定的層級,就自動終止掉相關的程序

願早日解決問題

iis到底為什麼總是假死???

22樓:水裡的和尚

你的伺服器上只有這乙個站點嗎?還是有很多站點?

建設你把mdac公升到最高版,打上補丁,然後將access資料庫公升級到2003格式試試

iis5.0在使用access時是會出現這種問題,估計是沒有什麼好的辦法,最好建設把access換成sql資料庫。

怎麼連線資料庫,如何連線資料庫?

1 載入驅動程式。2 建立連線物件。3 建立sql語句執行物件 4 執行sql語句。5 對執行結果進行處理。6 關閉相關的連線物件即可 順序跟宣告的順序相反 處理結果兩種情況 1 執行更新返回的是本次操作影響到的記錄數。2 執行查詢返回的結果是乙個resultset物件。resultset包含符合s...

資料庫連線會自動關閉嗎,java連線資料庫在什麼位置關閉連線

資料庫連線不會自動關閉,需要在不使用的使用程式手動關閉。如果不及時關閉可能會造成記憶體溢位等問題,所以需要慎重對待。sqldatasource 控制項使用 ado.net 類與 ado.net 支援的任何資料庫進行互動。這類資料庫包括 microsoft sql server 使用 system.d...

C連線mysql資料庫無法讀取資料庫表中資訊求大神指點

資料庫是否有資料?你的data source localhost user id root password 有有沒有錯誤 try這裡,看是執行到哪一步報錯了 大師們幫我看看這個問題怎麼解決,c 中把資訊寫不進mysql資料庫!你先檢查sql語句有沒有戳錯 檢查方法是先在資料庫裡面執行一遍 再cop...