我們有幾個使用Access數據庫存儲數據和/或配置的傳統應用程序。Access表是否有一個小的替代編輯工具?
有時我們必須對客戶數據庫進行小的更改或更正。 (添加索引,修改數據行......)在許多情況下,客戶的工作站上都可以使用Access,但有時並非如此。
是否有安裝做哪個不需要Access數據庫小保養操作的任何小工具? (即可以從U盤啓動)
我知道松鼠SQL的,但我希望的東西更輕巧。
我們有幾個使用Access數據庫存儲數據和/或配置的傳統應用程序。Access表是否有一個小的替代編輯工具?
有時我們必須對客戶數據庫進行小的更改或更正。 (添加索引,修改數據行......)在許多情況下,客戶的工作站上都可以使用Access,但有時並非如此。
是否有安裝做哪個不需要Access數據庫小保養操作的任何小工具? (即可以從U盤啓動)
我知道松鼠SQL的,但我希望的東西更輕巧。
MS Access使用ODBC,因此可以使用Windows上的任何DB工具。
這些工具的主要問題在於許多商業軟件使用某種複製保護,例如安裝在註冊表中的許可證密鑰(例如,AQT)。所以這些都不行。
像松鼠SQL所以OSS工具是最好的選擇,因爲他們不來與人工的限制,它是簡單的在一個USB記憶棒安裝(與Java一起):
創建松鼠SQL的家庭小.bat文件:
集DIR =%〜DP0
%DIR%.. \ java的\斌\ javaw.exe的罐子squirrel.jar
就是這樣。
我使用VBScript進行編輯和數據庫更新時訪問不可用。腳本可以很快編寫,並且有許多現成的腳本可供在線使用,例如壓縮數據庫。
本示例鏈接一張表。
Dim adoCn
Dim adoCat
Dim adoTbl
strLinkFile = "C:\Docs\DB1.mdb"
strAccessFile = "C:\Docs\LTD.mdb"
'Create Link...'
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strAccessFile & ";" & _
"Persist Security Info=False"
Set adoCat = CreateObject("ADOX.Catalog")
Set adoCat.ActiveConnection = cn
Set adoTbl = CreateObject("ADOX.Table")
Set adoTbl.ParentCatalog = adoCat
adoTbl.Name = "LinkTable"
adoTbl.properties("Jet OLEDB:Link Datasource") = strLinkFile
adoTbl.properties("Jet OLEDB:Link Provider String") = "MS Access"
adoTbl.properties("Jet OLEDB:Remote Table Name") = "Table1"
adoTbl.properties("Jet OLEDB:Create Link") = True
'Append the table to the tables collection'
adoCat.Tables.Append adoTbl
就我個人而言,我會盡量避免這樣做。 你掩蓋了問題而不是解決問題。
如果索引是值得加入到單個客戶的數據庫,例如,它可能是值得加入到所有的客戶數據庫。否則,相同的問題會重複發生。 我知道需要快速支持,但是在不同工作站上有根本不同的數據庫只會導致更多問題向前發展,例如重新創建錯誤。
它還增加了一個潛在用戶「小提琴因素」,一旦他們學會如何做到這一點,如果應用程序留下了他們的機器上(即「我不知道如果我改變這個值會發生什麼?」)。
要麼修改當前的應用程序(傳統或沒有)中加入適當的索引上啓動,或創建一個單獨的小「修復」程序,增加了索引,需要你的客戶來運行它。 上面這些使用VBScript編寫的建議是非常合理的。關鍵是數據庫交換是可重複的,並且您可以跟蹤哪些地方進行了哪些更改。
如果數據本身需要修改,那麼爲什麼數據寫得不好?也許應用程序可以進行適當的修改,以便首先防止這種情況發生?這將避免與其他數據庫發生同樣的問題。
是的,您是對的,但我無法改變這些事情。 – 2008-12-17 12:02:37
這當然是有效的,因爲Jet數據引擎默認安裝在Windows的所有副本上,從Windows 2000開始。 – 2008-12-19 02:33:52