2013-12-11 151 views
2

我試圖將生產數據傳輸到數據倉庫以進行報告。我嘗試過從SSIS for Azure and Hybrid Data Movement的「導入到聯盟」部分,但我需要將數據從我的聯合會移動到數據倉庫。我還在SQL Server Central找到了一個很好的資源,但我仍然無法調出數據流嚮導中的聯合表。我也不能在ODBC(SQL Azure數據庫所需的連接類型)源嚮導的SQL命令中添加使用FedDB語句。使用SSIS將SQL Azure聯合數據庫提取到數據倉庫

回答

2

我建了一個原型包,基於我的一個垂直分片的假設(跨多個實例相同的模式傳播)

什麼你想要做的就是創建一個ADO.NET連接管理器,併爲供應商,請選擇「.Net Providers \ Odbc Data Provider」。

連接字符串如下所示。正如你所提供的第一個鏈接顯示,確定你已經授權的IP地址和您指定的Database

Driver={SQL Server Native Client 11.0};Server=tcp: abcdefghi.database.windows.net;Database=romulus; 

控制流

Control Flow

我有一個Foreach Loop Container設置,使我可以枚舉聯合中的所有實例。每次通過循環都會生成到當前實例的連接字符串。我將它分配給String類型的變量SourceConnectionString

然後,我在ADO.NET連接管理器上設置表達式,將ConnectionString屬性設置爲@[User::SourceConnectionString]。這將確保我們的連接實際上在枚舉期間更改

數據流

A數據流導出通過保持對周圍源和目標元數據嚴格凸片其性能。您需要爲每個需要應對的表創建數據流。有多種並行運行多個數據流的策略,我不在這裏討論。我確信Andy Leonard在他已經發現的Integration Services系列的階梯中涵蓋了它。

爲你鏈接的SSC文章

Data Flow

您有源部件基本上任何OLE DB或ADO.NET組件中所看到的,我礦的結構很多。由於我們正在使用Azure,因此我們需要「ADO NET Source」組件。

查找組件可以使用OLE DB連接管理器或緩存連接管理器。由於您正在推送到本地(在我的屏幕截圖中拼寫錯誤)實例,因此您可以使用OLE DB連接管理器來處理您的查找。

真的,除了通過聯邦的源代碼和枚舉之外,這個答案與文章中的內容幾乎沒有區別。

相關問題