在SSIS中,应该在ADO.Net和OLE之间选择什么?

时间:2019-01-14 06:41:06

标签: sql-server ssis etl

无论如何,我都尝试在SSIS中使用这种两个源目标,但是我找不到它们在配置方面的区别。那有谁能和我分享我应该选择什么呢?以及哪种方法更适合在每种情况或数据中使用。

4 个答案:

答案 0 :(得分:1)

OLE DB连接可以用作SSIS查找的源。您不能选择ADO.Net类型的连接来进行查找。

ADO.Net支持更新的SQL Azure授权方法,例如Active Directory - Password。 OLE DB仅限于SQL身份验证

我的建议是,如果您打算迁移到或使用SQL Azure,请不要使用OLE DB

如果可能的话,我也建议不要使用查找

ADO.Net肯定比OLE DB“新”,并且与C#更加一致。...我没有引文,这只是我的理解。

..只是为了合并答案。

@Ferdipux在下面的回答中很重要:

  
    

ADO.NET连接管理器可以在“脚本任务/转换”的C#代码中使用,而无需任何其他操作。只需获取它并调用AquireConnection方法即可。

  

答案 1 :(得分:0)

除了Nick的回答外,ADO.NET连接管理器可以在“脚本任务/转换”的C#代码中使用,而无需任何其他操作。只需获取它并调用AquireConnection方法即可。
OLEDB连接管理器必须以某种方式转换为ADO.NET。我通过解码其连接字符串来实现。
如果您使用的是普通SSIS,并且不考虑迁移到Azure,则OLEDB连接可以更快地进行日期检索。

答案 2 :(得分:0)

在搜索该主题之后,我在MSDN网站上找到了一篇帖子,其中基于4个观点进行了比较:

  1. 对SSIS组件的支持
  2. 性能
  3. 64位注意事项
  4. 目标数据源和数据类型的可支持性

您可以参考此链接以获取更多信息:OLE DB VS ADO.NET

还有一些有用的链接,您可以参考:

  1. SSIS Data Flows – ADO.NET vs. OLE DB vs. ODBC
  2. Difference between ADO NET source and OLE DB Source in SSIS 2008?
  3. Performance Testing OLE DB vs ADO.NET in SSIS

答案 3 :(得分:0)

这是另一条评论,其中列出了一个新原因:

https://www.mssqltips.com/sqlservertip/3053/sql-server-integration-services-connection-manager-tips-and-tricks/

ADO.NET连接的另一个优点是在Execute SQL任务中使用参数时。在OLEDB中,所有参数在SQL中都显示为“?” 但是在ADO.NET中,您可以按名称引用每个参数,例如@ParameterName