ADO NET 源
ADO NET 源使用来自 .NET 提供程序的数据,并使这些数据对数据流可用。
通过提供定义结果集的 SQL 语句可以配置 ADO NET 源。例如,连接到 AdventureWorks2008R2 数据库并使用 SQL 语句 SELECT * FROM Production.Product 的 ADO NET 源可从 Production.Product 表提取所有行,并将数据集提供给下游组件。
ADO NET 源使用 ADO.NET 连接管理器连接到数据源,该连接管理器指定 .NET 提供程序。有关详细信息,请参阅 ADO.NET 连接管理器。
ADO NET 源有一个常规输出和一个错误输出。
数据类型支持
源会将未映射到特定 Integration Services 数据类型的任意数据类型转换为 DT_NTEXT Integration Services 数据类型。即使数据类型为 System.Object,也会发生此转换。
可以将 DT_NTEXT 数据类型更改为 DT_WSTR 数据类型,也可以将 DT_WSTR 更改为 DT_NTEXT。通过在 ADO NET 源的**“高级编辑器”**对话框中设置 DataType 属性可更改数据类型。有关详细信息,请参阅通用属性。
通过在 ADO NET 源之后使用数据转换,还可以将 DT_NTEXT 数据类型转换为 DT_BYTES 或 DT_STR 数据类型。有关详细信息,请参阅数据转换。
在 Integration Services 中,日期数据类型 DT_DBDATE、DT_DBTIME2、DT_DBTIMESTAMP2 和 DT_DBTIMESTAMPOFFSET 映射到 SQL Server 中的某些日期数据类型。您可以配置 ADO NET 源,从而将日期数据类型从 SQL Server 使用的数据类型转换为 Integration Services 使用的数据类型。若要配置 ADO NET 源以便转换这些日期数据类型,请将 ADO.NET 连接管理器的 Type System Version 属性设置为 SQL Server 2008 或设置为**“最新”。(Type System Version 属性位于“连接管理器”对话框的“全部”页。若要打开“连接管理器”对话框,请右键单击 ADO.NET 连接管理器,然后单击“编辑”**。)
注意 |
---|
如果将 ADO.NET 连接管理器的 Type System Version 属性设置为 SQL Server 2005,则系统会将 SQL Server 日期数据类型转换为 DT_WSTR。 |
当 ADO.NET 连接管理器将提供程序指定为 SQL Server (SqlClient) 的 .NET 数据访问接口时,系统会将用户定义的数据类型 (UDT) 转换为 Integration Services 二进制大型对象 (BLOB)。当系统转换 UDT 数据类型时会应用下列规则:
如果数据是非大型 UDT,系统会将该数据转换为 DT_BYTES。
如果数据是非大型 UDT,并且数据库中列的 Length 属性设置为 -1 或大于 8,000 个字节的值,则系统会将该数据转换为 DT_IMAGE。有关列属性的详细信息,请参阅修改列属性。
如果数据是大型 UDT,系统会将该数据转换为 DT_IMAGE。
注意 如果 ADO NET 源未配置为使用错误输出,则系统会以 8,000 个字节为单位成块地使数据流向 DT_IMAGE 列。如果 ADO NET 源配置为使用错误输出,则系统会将整个字节数组传递到 DT_IMAGE 列。有关如何将组件为使用错误输出的详细信息,请参阅处理数据流中的错误。
有关 Integration Services 数据类型、支持的数据类型转换以及某些数据库(包括 SQL Server)之间的数据类型映射的详细信息,请参阅 Integration Services 数据类型。
有关将 Integration Services 数据类型映射为托管数据类型的信息,请参阅在数据流中使用数据类型。
ADO NET 源故障排除
可以记录 ADO NET 源对外部数据访问接口所做的调用。利用此日志记录功能,可以对 ADO NET 源执行的从外部数据源加载数据的操作进行故障排除。若要记录 ADO NET 源对外部数据访问接口所做的调用,请在包级别启用包日志记录并选择**“诊断”**事件。有关详细信息,请参阅包执行故障排除。
配置 ADO NET 源
可以通过 SSIS 设计器或以编程方式来设置属性。
有关可以在**“高级编辑器”**对话框中或以编程方式设置的属性的详细信息,请单击下列主题之一:
有关如何设置属性的详细信息,请参阅如何设置数据流组件的属性。
|