簡體   English   中英

使用OBDC將.sql導入MS Access

[英]Importing .sql into MS Access using OBDC

我目前在MySQL中有一個數據庫,我想在MS Access中導入該數據庫。

是否可以在保持所有關系不變的情況下執行此操作(即,無需導出到.csv或使用ODBC)?

我是這個領域的菜鳥,所以對您的幫助非常感謝。

謝謝。

你是說SQL Server嗎? 一個不錯的起點可能是檢查SQL Server Integration Services(SSIS),該服務可用於像這樣傳輸數據。

Google也會提供幫助,請查看第一個結果:

http://support.microsoft.com/kb/237980

順便說一句,您在問題中說“ .sql”:.SQL文件是一個腳本文件,它可以執行任何操作,包括創建數據庫,插入數據,刪除表,刪除數據或獲得正確的權限,然后調用系統過程並重新啟動計算機,格式化驅動器,發送電子郵件。。僅供參考,.SQL文件不是SQL Server使用的存儲格式。

您需要解決兩個不同的問題:

  1. 使用與MySQL數據庫結構匹配的結構創建一個空的MS Access數據庫。

  2. 從MySQL中提取數據並將其加載到MS Access中。

這是不容易的,因為不同的SQL數據庫提供不同的結構特征,不同的數據類型等等。 您對MySQL的使用越復雜,在轉換過程中就越有可能遇到一些麻煩(例如,Access根本不支持觸發器)。 相反,如果將MySQL用作簡單的數據存儲,則轉換可能會很容易。

為了獲得與MySQL數據庫具有相同結構的MS Access數據庫,最好的選擇是找到一個提供逆向工程並同時支持MySQL和MS Access的數據庫定義/圖表工具。 使用它可以將MySQL數據庫反向工程為數據庫圖,然后將基礎數據庫更改為MS Access並使用該工具生成數據庫。

查看Dezign For Databases (無論如何,在紙上)提供您需要執行此操作的功能。

要泵送數據,可以使用許多工具。 這種操作通常稱為ETL(提取,翻譯,加載)。

您可以嘗試使用以下方法: 通過關系將MS Access轉換為MySQL

正常工作並導出所有關系。

雖然您可以通過SQLyog之類的代碼將數據庫的模式編寫為腳本文件,但您會發現語法在數據庫之間差異很大(在您的情況下是MySQL到Access),您不能直接應用這些腳本。

可以通過編輯腳本來創建轉換腳本(可以通過程序自動完成,具體取決於生成的腳本大小)。 我認為使用ODBC復制表(和數據),然后從生成的腳本中手動提取並重新應用關系會更好。 我希望這很耗時,而且也是一次性操作。

當兩個系統是同一個數據庫時,有一些工具可以進行比較和腳本生成(MySQL為TOAD,Microsoft SQL為RedGate Compare),但它們不能跨數據庫工作(至少不是我所知道的) )。

如果創建ODBC DSN,則可以使用TransferDatabase從MySQL數據庫導入。 您可以使用GET EXTERNAL DATA命令(或A2007 / A2010中的任何命令)手動進行操作,並查看其效果如何。 它不會使所有數據類型都完全正確,但是您可以進行一些按摩,並使其更接近最有效的數據類型。

您是否有某些原因不能僅僅鏈接到MySQL表並直接使用它們? 也就是說,為什么您需要完全導入Access?

訪問:運行查詢。 只需確保修改SQL代碼即可,因為每個RDMS都有其自身的特征(盡管SQL是ANSI標准)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM