關於資料庫被鎖定的問題及其解決方案

2021-03-31 08:56:30 字數 868 閱讀 1401

在使用mfc和odbc操作

資料庫時,分別映**不同的表生成不同的

crecordset

類,但在使用時出現了資料庫被鎖定的情況。

解決方案,不要用

crecordset

的預設建構函式(無引數),因為這樣做的話,每個繼承自

crecordset

的子類物件在生成時都會被

mfc框架自動構造然後傳乙個

cdatabase

物件給它,這樣的話,有多少個

crecordset

子類物件,就有多少個

cdatabase

物件,在使用時容易競爭資料庫資源,雖然在程式裡面是先

close

掉了乙個

crecordset

子類物件,再

open

另乙個crecordset

,但在系統內部,同乙個程序裡的這個也許還沒有完全

close

掉,還處於鎖定狀態,另外乙個連線資料庫的請求就來了,通過在兩個

crecordset

子類物件使用(

open addnew update close

)之間加入

sleep

(time

(足夠長的時間))可以有效解決這種鎖定的做法就印證了這種猜測。所以我們自己生成乙個

cdatabase

物件,每個

crecordset

子類物件生成時都使用該物件做為引數傳入建構函式。這樣,無論有多少

crecordset

子類(它們都對映自同乙個資料庫),都只有乙個

cdatabase

物件,不存在競爭資源,不但解決了鎖定,還大大加快了程式的執行速度!

資料庫sa賬戶被鎖定

問題描述 佈署某一 後,主頁面不能登入,訪問同一伺服器上的另一 突然系統報18456錯誤,提示資訊是 無法連線到 伺服器 其他資訊為 使用者 sa 登入失敗。microsoft sql server,錯誤 18456 問題原因 佈署 時,資料庫連線檔案中的密碼不正確,所以多次訪問主頁面後就出現問題....

ABAP 資料庫操作時的鎖定問題

要支援更新 繫結計畫,sap 系統提供了 完全不同於 資料庫鎖定 的鎖定機制 sap 鎖定的優點 在於可以在 多重螢幕間 保留它們,如同更新事務 頁 所需要的。資料庫鎖定 是資料庫系 統中的物理 鎖定。在程 序中使用更 新語句 select single for update insert upda...

關於解決寫入資料庫中文亂碼問題

關於解決寫入資料庫中文亂碼問題?解決 可在連線資料庫的url後拼上 useunicode true characterencoding utf 8 字串,宣告編碼格式 例 jdbc url jdbc mysql localhost 3306 ssm?useunicode true character...