ADO NET 源

ADO NET 源使用来自 .NET 提供程序的数据,并使这些数据对数据流可用。

您可以使用 ADO NET 源连接到 Microsoft Windows Azure SQL Database。 不支持使用 OLE DB 连接到 SQL Database。 有关 SQL Database 的详细信息,请参阅通用指导原则和限制 (Windows Azure SQL Database)

数据类型支持

源会将未映射到特定 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 属性设置为 Latest。 (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 源配置

通过提供定义结果集的 SQL 语句可以配置 ADO NET 源。 例如,连接到 AdventureWorks2012 数据库并使用 SQL 语句 SELECT * FROM Production.Product 的 ADO NET 源可从 Production.Product 表提取所有行,并将数据集提供给下游组件。

注意注意

在您使用 SQL 语句调用从临时表返回结果的某一存储过程时,使用 WITH RESULT SETS 选项可为结果集定义元数据。

注意注意

如果使用 SQL 语句来执行存储过程且包因为以下错误失败,您可以通过在 exec 语句前添加 SET FMTONLY OFF 语句来更正错误。

Column <column_name> cannot be found at the datasource.

ADO NET 源使用 ADO.NET 连接管理器连接到数据源,该连接管理器指定 .NET 提供程序。 有关详细信息,请参阅 ADO.NET 连接管理器

ADO NET 源有一个常规输出和一个错误输出。

可以通过 SSIS 设计器或以编程方式设置属性。

有关可以在**“高级编辑器”**对话框中或以编程方式设置的属性的详细信息,请单击下列主题之一:

有关如何设置属性的详细信息,请参阅设置数据流组件的属性

相关内容

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 上的 Integration Services 页:


若要获得有关这些更新的自动通知,请订阅该页上提供的 rss 源。

请参阅

概念

DataReader 目标

ADO NET 目标

数据流