我正試圖合併兩個數據庫ms access
使用Java
。我正在從一個數據庫和另一個來自其他數據庫的連接進行連接。我將每個表中的所有記錄複製到另一個數據庫中的表中。
是否有任何其他解決方案,而不是將記錄從一個數據庫表複製到另一個數據庫表。兩個數據庫都有相同的表結構。使用java合併兩個ms訪問數據庫
回答
大多數情況下,複製關係數據庫比複製表格要複雜得多。例如,您必須考慮數據複製的順序以避免違反完整性。
關於複製的SQL,Access將接受外部mdb/acdb的名稱作爲刪除,所以只要沒有附件或多值字段數據類型,前兩個語句就會工作。另一個問題是自動編號ID,如果它們可能重疊,那麼INSERT INTO是不安全的,因爲您最終可能會出現重複。
SELECT * INTO AnotherTest IN 'Z:\Docs\test.accdb'
FROM test;
INSERT INTO AnotherTest IN 'Z:\Docs\test.accdb'
SELECT *
FROM test;
儘管上面的INSERT通常會起作用,但列出字段並省略任何自動編號字段更安全。
INSERT INTO AnotherTest (AText, ADate, ANumber) IN 'Z:\Docs\test.accdb'
SELECT test.AText, test.ADate, test.ANumber
FROM test;
所有的語句都是使用MS Access查詢設計窗口構建的,只是稍作修改。
它可以用於從不同位置合併數據庫 –
sql是針對與數據庫1的連接運行的,並且是指數據庫2.在該示例中,數據庫2是IN Z:\ Docs \ test.accdb,因此是,兩個不同的地點。 – Fionnuala
你使用SQL來做到這一點嗎?如果是這樣,那可能是你的SQL代碼的問題,而不是你的java代碼。
您可以對您的程序進行多線程處理,以便將每個表或一組表複製到另一個線程中。如果表名不發生變化,這一點尤其有用,因爲您可以創建一個表名稱數組和一個將名稱放入SQL查詢中的線程子類。如果你使用了10個左右的線程池,這應該加快速度,但要小心,因爲我對access和java的經驗是數據庫很容易損壞,所以在嘗試這個之前確保你有一個備份。
- 1. 使用Java訪問MS Access數據庫
- 2. MS訪問數據庫Java
- 3. MS訪問拒絕合併兩個表?
- 4. 並行訪問MS Access數據庫
- 5. 訪問數據庫使用兩個表
- 6. Codeigniter使用ms訪問數據庫
- 7. 合併兩個數據庫
- 8. 訪問 - 合併具有相同結構的兩個數據庫
- 9. MS訪問Oracle數據庫
- 10. 分割一個數據庫(ms訪問)
- 11. MySQL兩個用戶數據庫合併
- 12. 結合多個數據庫的MS訪問報告
- 13. 使用java訪問MS CryptoAPI
- 14. 使用JAVA訪問MS Outlook
- 15. MS-訪問合併兩個記錄類似的標識
- 16. 使用兩個數據庫時要訪問數據的路徑
- 17. 使用java訪問sqlite數據庫
- 18. 合併兩個數據集java
- 19. 合併表中兩個數據庫
- 20. 合併兩個SQL Server數據庫
- 21. 將兩個數據庫合併到一個數據庫中
- 22. 使用AWK合併兩個數據集
- 23. 使用R合併兩個數據集
- 24. 訪問數據庫兩個主鍵
- 25. 兩個數據庫需要訪問
- 26. 查看訪問兩個數據庫
- 27. 如何訪問兩個數據庫?
- 28. MS SQL訪問有兩個SUM函數
- 29. Codeigniter和Ms訪問數據庫連接
- 30. insert into ms訪問數據庫
你說你已經有一個可行的解決方案。爲什麼你需要一個不同的解決方案有什麼原因嗎? –
這是非常長的解決方案,因爲數據庫有大約50張表,因此它非常冗長。 –