簡體   English   中英

如何將數據從Microsoft Access傳輸到SQL Server 2008?

[英]How to transfer data from Microsoft Access to SQL server 2008?

在我目前的項目中,我每天都要將數據從MS Access傳輸到Sql Server 2008標准版。 當然我可以使用SQL遷移工具將Access數據庫轉換為Sql Server數據庫,但問題是我必須每天一次又一次地這樣做以繼續更新我的sql server數據庫。

有什么方法可以編寫C#程序,將數據從MS ACCESS文件傳輸到SQL SERVER?

任何幫助將受到高度贊賞。

正如Serkan在他的評論中所建議的那樣,我會使用SSIS(SQL Server Integration Services)來完成這項任務,特別是當你已經在使用SQL Server時,SSIS正是為了支持這種任務而構建的。

SSIS非常靈活(與大多數ETL包一樣),您可以添加自定義邏輯來轉換數據(如果有的話)

此外,如果在SQL Server中創建作業,則可以計划此任務,此作業將執行連接到MS Access數據庫的SSIS包,並自動將其用作數據源。

此外,您可以選擇直接從C#代碼調用SSIS包(如果由於某種原因,您需要不使用預定作業但需要為用戶提供某種界面才能啟動任務)使用DTExec.exe或者使用通過Microsoft.SQLServer.ManagedDTS.dll.公開的類Microsoft.SQLServer.ManagedDTS.dll.

請參閱此鏈接 ,了解如何直接從C#代碼調用SSIS包

我會建議一個ETL(例如,參見Talend Open Studio )。 您可以設計傳輸作業(必要時進行適當的轉換),然后使用OS任務計划程序每天運行作業。

注意:Talend Open Studio生成java或perl代碼。

為什么不直接將數據遷移到SQL Server並使用Access應用程序作為SQL Server數據庫的前端而不是Jet / ACE數據庫?

您還可以在C#中運行更新/刪除/追加查詢。 使用varous IN子句指向有問題的數據庫。 你在C#中究竟是怎么做的我不知道但是在Access中這些很容易做到。

[SELECT | INSERT] INTO destination IN
    {path | ["path" "type"] | ["" [type; DATABASE = path]]}

要標識源表:

FROM tableexpression IN 
    {path | ["path" "type"] | ["" [type; DATABASE = path]]}

從Access 97幫助。

暫無
暫無

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

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