有時用VB程式開啟mdb會無法登入,顯示"資料庫(mdb)檔案已開啟",最常遇到的是microsoft 2000 server中程式如果有開啟,則其它台PC無法使用相同的程式登入,
但不是每次都發生,請問這是什麼原因
2004-12-13 06:24:14 · 2 個解答 · 發問者 翁甄甄 1 in 電腦與網際網路 ➔ 程式設計
我是透過ado連線,且並沒有做設計檢視的動作,應該不會被鎖定才對,且好像只有在2000 server才會有這種情況
2004-12-14 10:56:16 · update #1
如果是access,則通常是因為您打開了資料表的設計模式。但是若反過來,您先執行程式再開資料表設計模式時,資料表設計模式則會變成唯讀read-only。所以下次碰到這問題,只要把資料表設計模式關閉即可。
如果是ms-sql,則比access聰明一點點而已。那就是不會直接告訴您錯誤訊息,而是一直等等等等到它關掉。也就是說,db server會去做task scheduling而不是直接拒絕。當然我們長時間開發也發現類似的副作用,就是很容易timeout停住。碰到這種狀況,當然重開機是一種可行的暴力法。有時候資料庫當掉,但程式很多都還可以跑,所以只是有資料互相鎖死造成死結dead-lock。讓伺服器稍快恢復運作的方式,便是停掉資料庫服務﹝通常要包括sql server與sql agent﹞再啟動,回應時間會較快一些。
2004-12-20 16:55:14 補充:
我必須看到一下您VB對ADO的寫法,才能夠告訴您確實的問題。請您貼一下您的原始程式該片段。謝謝
2004-12-13 12:47:44 · answer #1 · answered by Anonymous · 0⤊ 0⤋
把資料庫的開啟參數加入
SHARE_READ 還有 SHARE_WRITE
請參照微軟的msdn來寫看看
http://msdn.microsoft.com
2004-12-13 15:14:56 · answer #2 · answered by 十字-光 2 · 0⤊ 0⤋