首先要做的事情。我對SSIS完全陌生,並試圖找出它在ETL方面的潛力,並最終轉向SSAS。我有以下情形:SSIS - 使用ODBC SQL執行任務將參數導入要導入的結果集
- 我有一個InterSystems的數據庫,我可以通過ADO
.NET
- 我想從這個數據庫中提取數據,並通過增量加載使插入到MS SQL連接
我建議的解決方案/目標是:
- 在MS SQL中有存儲最後指針讀取或日期/時間快照的表。 (在這個階段不合適)。讓我們保持簡單並說我們要使用Intersystems數據庫中存在的記錄ID從此表中獲取指針並通過ODBC將其用作參數來讀取源數據庫,然後插入到目標MS中SQL db
- 更新指針,讀取最後一條記錄,以便下一次我們從那裏繼續。 (我並不想進入更新/刪除的併發症,讓我們保持它的簡單。)
迄今取得的進展:
- 我必須成功,以與MS SQL連接讀取從那裏指針,並將其放置在一個變量
- 我設法用參數來讀取InterSystems的DB數據使用
[Execute SQL task]
,我把那到使用FullResultSet
- 我已成功使用使用
[ForEach Loop Container]
變量[Foreach ADO Enumerator]
要通過每個記錄和每個字段(yeeeey!)
現在。我可以使用[Script task]
,它使用VB.NET
代碼(理論上)插入MS SQL數據庫,然後使用從源數據庫讀取的最後一條記錄更新計數器。我花了無數時間尋找使用ODBC參數的解決方案,以上是我看到工作的唯一方法。
我的問題是這樣的:
這是唯一的途徑和最佳實踐?是不是有一些簡單的方法,我可以將這個結果集插入一些數據流組件,這些組件爲插入和更新記錄指針給我?
請假定我沒有權限訪問Intersystems Db,因此我無法對錶結構進行任何更改。但我只能讀取數據,以便將其放入MS SQL中。
在給你們(或加侖?)
你應該爲u唱一個數據流而不是執行sql到一個變量中,並在foreach中逐行處理。我將在下面的回答中加以解釋 – KeithL
您正在尋找[集成系列階梯,第4級更新增量裝載行](http://www.sqlservercentral.com/articles/Stairway+Series/76390/) – billinkc