2011-10-18 24 views
0

既然微軟已經正式宣佈OLE爲passe.我很好奇每個人都喜歡使用哪個提供者。我有一個ADO.NET的偏好,但那只是因爲我可以使用變量名稱,當我傳遞參數存儲特效。我應該開始使用ODBC嗎?SSIS和首選的數據提供者(ADO.NET,ODBC)

感謝

+0

您將在SSIS 2008中遇到的一個問題是Lookup數據流組件僅適用於OLEDB數據源。我們不得不廣泛使用查找組件,因此現在必須在OLEDB數據源上進行標準化。 –

回答

0

我應該開始使用ODBC呢?

不,您需要.NET中的ADO.NET。如果數據庫有一個ADO.NET提供程序使用它。 ODBC用於從非託管代碼訪問本機數據。

+0

感謝您的快速回答。 –

0

我意識到這是一個非常古老的問題,但我覺得接受的答案留下了大量的信息。

很多SSIS組件都不支持ADO.NET連接,或者它們的ADO.NET對應組件缺少OLE DB版本的很多功能。由於這個原因,我實際上建議仍然使用帶有SSIS的OLE DB。

ADO.NET在很多方面都比較好,但是一旦你用ADO.NET獲得了整個解決方案設置並發現你不能使用你期望的某個組件或功能,你就會發現自己處在一個受到傷害的世界裏會工作。

例如,你不能:

  • 使用ADO.NET連接管理器爲SQL Server包配置源
  • 通過包變量在ADO.NET源設置查詢沒有外界將其設置數據流。 (OLE DB源可以在其本機配置窗口中通過包變量設置查詢的選項。)
  • 正如Brent在問題的註釋中提到的,您不能在ADO.NET源代碼中使用查找轉換。

我確定有更多的東西,你不能在SSIS中用ADO.NET連接做,但我還沒有跑過它們。但恕我直言,在工具中獲得更多支持之前,已經有足夠的缺點超過在SSIS中使用ADO.NET的好處。