我希望能夠編寫一個以獨佔模式打開Access數據庫的腳本,這樣我就可以刷新其中的信息,而不用擔心其他用戶訪問處於不一致狀態的數據庫。有沒有辦法使用VBA或通過使用VBScript的COM接口來執行此操作?以獨佔模式打開Access數據庫
2
A
回答
2
根據this table of OLEDB init properties,您應該在連接字符串中添加「Mode = Share Exclusive」。
3
我不知道如果有任何用戶在腳本啓動時打開數據庫會發生什麼情況。所以我選擇檢查是否存在數據庫鎖定文件,並且只有在鎖定文件不存在時纔會繼續。
這裏是DoSomethingExclusively.vbs:
Option Explicit
Dim strFolder
Dim strMdb
Dim strLckFile
Dim objFSO
Dim appAccess
strFolder = "C:\Access\webforums\"
strMdb = "whiteboard2003.mdb"
strLckFile = "whiteboard2003.ldb"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not (objFSO.FileExists(strFolder & strLckFile)) Then
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase strFolder & strMdb, True
'* do something here; this just adds a row with current time *'
appAccess.CurrentDb.Execute _
"INSERT INTO foo (bar) VALUES ('" & CStr(Now()) & "');"
appAccess.Quit
Set appAccess = Nothing
End If
Set objFSO = Nothing
相關問題
- 1. 將數據庫設置爲以非獨佔模式打開
- 2. 如何以獨佔模式在C++中打開文件
- 3. C++:以非獨佔模式打開文件
- 4. 如何在共享和獨佔模式之間切換Access數據庫?
- 5. 訪問數據庫已由其他用戶獨佔打開
- 6. 參考打開Access數據庫
- 7. 無法識別數據庫格式,而試圖打開Access 97數據庫
- 8. 可以通過.Net安裝打開Access數據庫嗎?
- 9. 無法以只讀模式打開Sqlite數據庫
- 10. 無法以讀取/寫入模式打開數據庫
- 11. 以只讀模式從python打開sqlite3數據庫
- 12. 從數據庫傳遞ID以打開模式
- 13. web.xml獨佔網址模式
- 14. JavaFX全屏獨佔模式
- 15. 全屏獨佔模式JDesktopPane
- 16. Java全屏獨佔模式
- 17. BerkeleyDB:整個數據庫的獨佔鎖
- 18. 是否可以使用ADO.NET修改MS Access數據庫模式?
- 19. Access數據庫形式
- 20. 外鍵指向多個表的數據庫模式困境(獨佔弧)
- 21. 在VBA中運行批處理代碼以在運行模式下打開特定的Access數據庫文件
- 22. 以jquery ui模式形式打開的html數據
- 23. 試圖打開Access數據庫使用Process.Start「數據庫未附加」
- 24. 如何在打開數據庫時壓縮MS Access數據庫,使用vba
- 25. 以異步方式在單獨的數據庫中運行多個MS Access宏
- 26. 從MyApplication打開SQLite數據庫 - 無法在讀/寫模式下打開
- 27. 複製/替換/打開MS Access數據庫作爲用戶
- 28. ms-access:在數據庫打開時做些什麼
- 29. 如何防止打開MS Access數據庫文件?
- 30. 使用Jackcess打開Access數據庫文件
不要忘記堅持所有用戶追了出去。 – 2011-04-26 14:56:18