2012-05-14 68 views
2

導出。我們正在執行對SQL Server的導出Ms訪問。MS Access在C#.NET中的SQL Sever

我們知道如何通過表格導出該表格。我們面臨的和無法處理的是,MS Access中存在的表之間的關係在導出後將會丟失。這非常煩人。有沒有一種方法或工具可以讓我們一次處理多個表或者是否有一些解決方法?

+0

你希望傳遞過程中保持表之間的關係? – 2012-05-14 03:39:06

+0

是的,有什麼好主意? –

回答

2

既然你用c#標記了這個,我會假設你想自己實現這個。下面是你需要的積木:

  1. 創建一個DAO連接到您的Access數據庫(添加到DAO庫的引用,創建一個新的DBEngine,然後利用其OpenDatabase方法得到一個Database參考):

    DBEngine dbe = new DBEngine(); 
    Database db = dbe.OpenDatabase(pathToDatabase); 
    
  2. 迭代通過Relations property訪問存儲在MS Access數據庫中的關係。

  3. 在您的SQL Server數據庫中創建關係。要做到這一點,您可以

    • use SMO
    • plain old T-SQL

      ALTER TABLE table1 
      ADD CONSTRAINT table1_fkfield_fk FOREIGN KEY (fkfield) 
      REFERENCES table2 (pkfield) 
      
1

看起來像微軟有這樣的答案。 Access中有一個名爲「升遷嚮導」的選項,其中「保留數據庫結構,包括數據,索引和默認設置」。

這裏是解釋更鏈接到知識庫文章: http://support.microsoft.com/kb/237980

+0

謝謝你,但似乎沒有提及關係。 –

0

爲Access數據庫遷移到SQL Server,我們有許多第三方工具和Microsoft Assitant也有。檢查該鏈接 Link 1 Link 2

1

使用SQL Server數據轉換服務(DTS)將數據從Access數據庫導入到SQL Server數據庫。有關DTS和DTS導入嚮導的更多信息,請參閱SQL Server 7.0聯機叢書中的「Data Transformation Services」和「Using the Import and Export Wizards」主題。有關示例,請參閱SQL Server聯機叢書中的「從Access數據庫示例導入數據」主題。