問題

兩個使用者想共享同一個資料庫,最初是用 MS Access 編寫的,而不是透過單個 MDB 檔案相互衝突。

我使用其 Migration Toolkit (順便說一句)將表從簡單的MS Access資料庫移動到MySQL,並透過ODBC設定連結到這些表的Access.

到目前為止,我遇到了以下內容:

  • 在沒有主鍵的表中插入/更新/刪除行(沒有驚訝)。
  • MS Access中的自主編碼欄位必須是主鍵,或者它們最終只是MySQL中的整數列(natch,為什麼不是PK?)
  • 表被遷移到MySQL的InnoDB表型別,但Access關係沒有成為MySQL外來鍵約束.

一旦資料庫正在使用,我可以期待任何其他問題嗎?特別是當兩個使用者都在同一個表中工作時?

  最佳答案

我有一個同樣有效的應用程式:MS Access前端到MySQL後端.這是一個巨大的痛苦,我最終編寫了一個Win32前端.從我的頭頂,我遇到了以下問題:

  • ODBC連結的開發似乎早已停止.周圍有各種不同的版本 – 非常令人困惑. ODBC連結不支援Unicode / UTF8,我記得它還有其他問題(雖然有些可以透過仔細的配置來克服).
  • 您可能想手動調整資料庫模式以使其與MS Access相容.我看到您已經找到了所需的代理鍵(即int主鍵): –
  • 您應該記住,您可能需要使用 pass-through 查詢來對 MySQL 資料庫進行更復雜的 SQL 操作。
  • 小心使用大量VBA,因為這會損壞你的前端檔案.定期壓縮資料庫(使用主選單,工具|資料庫實用程式|壓縮和恢復,或類似的東西 – 我正在使用荷蘭版本)並進行大量備份是必要的.
  • 訪問往往導致大量網路流量.例如,真的很大.我無法找到解決方案.如果你想關注這一點,建議使用網路監視器!
  • 訪問堅持將booleans儲存為0 / -1. IMHO,0 / 1更有意義,我相信它也是在MySQL中做事的預設方法.不是一個巨大的問題,但如果你的複選框不起作用,你肯定應該檢查這個.

一個可能的替代方案是將後端(與資料一起)放在共享驅動器上.我記得這是很好的記錄,也在幫助中.你可能希望看看關於分裂為前端和後端程式碼的一些一般性建議,它們在啟動時自動重新連線到後端;我也可以傳送一些更多的示例程式碼,或釋出在這裡.

否則,您也可能想考慮MS SQL.我沒有這方面的經驗,但我認為它與MS Access更好地一起工作!

  相同標籤的其他問題

mysqldatabasems-access