我想知道如何通過SSIS將.mdb(MS Office 07)文件導入Sql server 2008。我需要以這種方式運行這個ETL數據包,以便檢查重複項,並且如果有的話不重新插入它們,但只插入新的記錄。 如果有人有一個教程鏈接或可以解釋這裏的步驟將是非常有益ssis sql server 2008 for access .mdb數據庫
回答
這有點廣泛在這樣一個論壇來討論,但是......
一般來說,我通過導入數據做到這一點到一張工作表(而不是你想要的數據)。它還應該有它自己的標識列(用於分隔數據中的重複項)和數據庫表記錄標識的列。希望數據對每條記錄都有一些類型的id字段。如果是這樣,那麼你應該有一個映射表,它將數據庫中的數據庫id與Access數據庫中的記錄id鏈接起來。然後,查找映射表中不存在的id並將與它們相關聯的記錄插入到要放入信息的生產表中變得非常簡單。通常,當我這樣做時,我將自己的id字段添加到工作表中,然後將這些記錄插入映射表中作爲最後一步。
如果您收到的數據中沒有id字段,則根據自然鍵的性質或者即使您擁有一個(Access數據庫往往因不遵循數據庫設計原則而經常出現臭名昭着) 。如果最接近的東西是唯一標識符是姓名/地址組合,那麼您如何知道伊利諾伊州伊利諾伊州州街10號的約翰史密斯是否與伊利諾伊州25 Main Street Chicalgo的約翰史密斯同一人。他本可以移動,或者它可能是一個不同的約翰史密斯。
擴展在HLGEM的答案...
在SSIS中創建一個新的數據庫流對象並進入該部分(在上面第二個選項卡)。
創建一個OLE DB Source對象(可能是Access的特定版本,但基本的OLE DB Source應該可以)並選擇Access作爲源並找到.mdb文件。沒有真正描述它應該找到列,你可以格式化一小段,以跳過標題行等。
接下來,通過將其拖動到屏幕上並將綠色箭頭連接到來源。打開目標組件並選擇創建一個新的數據庫。它應該自動創建列名並根據.mdb數據庫分配它們的類型。在本節中,您可以指定您希望鍵入哪些列,以表示您想要的唯一行。如果你沒有任何領域可走,你將不得不探索其他選擇(見HLGEM的文章)。如果你有一個領域,你可以鍵入,這樣做。
既然已經創建了這個,您可以指定如何在OLE DB目標上處理您的錯誤輸出......如果您選擇重定向並將數據推送到文件,所有重複的鍵都將被拋出那裏。
希望這個小結有助於!
- 1. SSIS 2008:將SQL數據導出到Access數據庫2010表
- 2. 使用SSIS將Access數據庫傳輸到SQL Server數據庫
- 3. 更新Access 2003 MDB以指向不同的SQL Server數據庫
- 4. 將MS Access 2007數據庫遷移到Sql Server 2008
- 5. 使用SSIS 2005從SQL Server 2008 R2數據庫檢索數據
- 6. 錯誤從Access 2007數據庫遷移到64位SQL Server 2008
- 7. SQL Server 2005上的SSIS 2008?
- 8. 從Access 2003到SQL Server 2008?
- 9. sp_generate_inserts for SQL Server 2008
- 10. 我們如何導入訪問數據庫(.mdb)到C#中的sql server 2008中
- 11. ReportViewer for SQL Server 2008
- 12. Xamarin for Android with SQL Server 2008
- 13. 從Access數據庫遷移到SQL Server 2008與前端ASP.net
- 14. 將MS Access數據庫導出到SQL Server 2008 Express
- 15. 數據庫部分函數(sql server 2008)
- 16. 如何將SQL Server 2008 R2數據庫還原到SQL Server 2008?
- 17. 從SQL Server 2008 Express將數據庫傳輸到SQL Server 2008
- 18. SSIS 2008 mySQL源到SQL 2008
- 19. 導入Access數據到SQL Server CE(.MDB來。自衛隊)
- 20. SQL Server 2008和SSIS - 最大列數
- 21. SSIS 2008連接到SQL Server 2014
- 22. sql server 2008導出到mdb問題
- 23. SQL Server 2008:SELECT FOR UPDATE
- 24. pyodbc - 從MS Access(MDB)數據庫
- 25. mdb(MS Access數據庫)與iOS
- 26. SQL Server 2008 R2 SSIS包在SQL Server 2008(R1)上的部署
- 27. 確保Access 2000 mdb上的SQL-92到Access 2010下的SQL Server
- 28. SQL Server 2008數據庫附加錯誤
- 29. 從Oracle數據倉庫導入數據到SQL Server通過SSIS 2008
- 30. 使用SSIS將Access數據庫傳輸到SQL服務器