修复: 时运行 SQL Server 2005、 SQL Server 2008 年或 SQL Server 2008 R2 集成服务包 (SSI) 在安装后出现错误消息。NET Framework 2.0 SP2 或。NET 框架 3.5 SP1:"ADO NET 源 [1424]"

文章翻译 文章翻译
文章编号: 969845 - 查看本文应用于的产品
Microsoft 将分发 Microsoft SQL Server 2005 年,Microsoft SQL Server 2008 年,和 Microsoft SQL Server 2008 R2 修补程序修补了一个可下载的文件。修补程序是累积性的因为每个新版本包含的所有修补程序和所有安全修补程序附带的上一个 SQL Server 2005、 Microsoft SQL Server 2008 年或 SQL Server 2008 R2 修补都程序版本。
展开全部 | 关闭全部

本文内容

症状

请考虑以下情形:
  • 具有以下值之一的计算机上运行 Microsoft SQL Server 2005年、 Microsoft SQL Server 2008 年或 SQL Server 2008 R2 集成服务包 (SSI)。NET 框架安装:
    • 。NET Framework 2.0 Service Pack 2 (SP2)
    • 。NET 框架 3.5 Service Pack 1 (SP1)
  • SSIS 包使用字符数据中导入的第三方 ODBC 驱动程序。
但是,当您运行的 SSIS 包,您会收到以下错误消息:
[ADO NET 源 [1424]]错误: SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。"组件"ADO NET 源"(1424)"失败,因为发生了错误代码 0x80131937,和错误行处置"输出列"columnname"(编号)"指定在出现错误的故障。指定组件的指定对象上出现错误。可能在此之前张贴与有关失败的详细信息的错误消息。

错误 0xc0209029: 数据流任务:"组件"补丁"(1)"失败,因为发生了错误代码 0x80131937...

[ADO NET 源 [1424]]错误:"ADO NET 源"(1424) 的组件不能处理的数据。管道组件已从方法调用返回 HRESULT 错误代码 0xC0209029。

[SSIS。管道] 错误: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。在组件"ADO NET 源"(1424) 返回的错误代码 0xC02090F5 PrimeOutput 方法。管线引擎调用 PrimeOutput() 时,该组件将返回了失败代码。失败代码的含义和定义,该组件,但错误是致命管道已停止执行。可能在此之前张贴与有关失败的详细信息的错误消息。
此问题会影响以下条件为真时从托管 ODBC 提供程序访问 ODBC 驱动程序:
  • " ExecuteReader 调用函数 CommandBehavior.SequentialAccess 参数。在下列情况下使用此调用和参数:
    • 当 SQL 服务器 2005 SSIS 包读取数据,从 DataReader 源或 SQL Server 2008 SSIS 包从托管 ADO 读取数据。NET 数据源。
    • 重定向的错误和截断值未配置的数据源。
  • " OdbcDataReader.IsDbNull 调用函数。SSIS 包来确定字段中的值是否为空或不使用此方法。
  • 调用以下函数之一:
    • " OdbcDataReader.GetBytes 从托管 ODBC 提供程序获取某些数据类型,如 DT_BYTES,将调用函数。
    • " OdbcDataReader.GetChars 从托管 ODBC 提供程序获取某些字符串数据类型,如静态,调用函数。

原因

。NET Framework 2.0 SP2 和。NET 框架 3.5 SP1 引入托管 ODBC 提供程序从"症状"一节所述的方案中的本机 ODBC 驱动程序读取字符串时的更改。由于这种更改,托管调用由本机的 ODBC 驱动程序中使用的 ODBC 提供程序 SQLGetData API 函数使用的缓冲区大小为 0。在此调用中,符合 ODBC 驱动程序没有问题。但是,在这些情况下,可能会失败不符合要求的 ODBC 驱动程序。为符合标准的 ODBC 驱动程序, SQLGetData 检测到缓冲区的大小为 0 时,API 函数返回 SUCCESS_WITH_INFO。对于不符合要求的 ODBC 驱动程序,调用返回 NO_DATA。

解决方案

修补程序信息

可以从 Microsoft 获得支持的修补程序。但是,此修补程序用于解决本文中描述的问题。此修补程序仅适用于出现这一特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修补程序的下一个软件更新。

如果此修补程序可供下载,没有在此知识文库文章顶部"提供修补程序下载"部分。如果此部分不会出现,请联系 Microsoft 客户服务和支持,以获取此修复程序。

注意 如果出现其他问题或是否需要任何故障诊断,您可能必须创建一个单独的服务请求。其他支持问题和事项,不适合此特定的修补程序将正常收取支持费用。有关的 Microsoft 客户服务和支持电话号码,或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support
注意 在"可用的修补程序下载"窗体显示已可用的修复程序的语言。如果您看不到您的语言,这是因为一个修补程序不能用于该语言。

系统必备组件

您必须具有。NET Framework 2.0 Service Pack 2 安装。

重新启动信息

您不必在应用此修补程序后,重新启动计算机。

注册表信息

您不必更改注册表。

修补程序文件信息

此修补程序仅包含那些文件纠正本文列出的问题所必需的。此修补程序可能不包含将产品完全更新到最新版本所必需的所有文件。此修补程序的英文版具有的文件属性 (或更新的文件属性) 下表中列出。日期和时间,这些文件列出了以协调通用时间 (UTC)。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用 时区 在选项卡 日期和时间 在控制面板中的项。
.NET Framework 2.0 为 Windows 2000 中,Windows Server 2003 中,Windows XP 中,32 位版本
收起该表格展开该表格
文件名称文件版本文件大小日期时间平台
System.data.dll2.0.50727.40632,933,76019-05: 08x86
.NET Framework 2.0 为 Windows 2000 中,Windows Server 2003 中,Windows XP 中,x 64 版本
收起该表格展开该表格
文件名称文件版本文件大小日期时间平台
System.data.dll2.0.50727.40633,008,51218-23: 51x64
System.data.dll2.0.50727.40632,933,76019-05: 08x86
.对于 Windows 2000,Windows Server 2003 中,Windows XP,IA 64 位版本的 NET Framework 2.0
收起该表格展开该表格
文件名称文件版本文件大小日期时间平台
System.data.dll2.0.50727.40632,933,76019-05: 08x86
System.data.dll2.0.50727.40633,234,81619-01: 09IA-64
.NET Framework 2.0 为 Windows Vista 中,Windows Server 2008,32 位版本的
收起该表格展开该表格
文件名称文件版本文件大小日期时间
System.data.dll2.0.50727.44002,933,7602009 年 9 月 10 日11: 54
.NET Framework 2.0 为 Windows Vista 中,x x64 版本的 Windows Server 2008
收起该表格展开该表格
文件名称文件版本文件大小日期时间
System.data.dll2.0.50727.44003,008,5122009 年 9 月 10 日11: 54
.NET Framework 2.0 为 Windows Vista 中,Windows Server 2008,IA 64 位版本
收起该表格展开该表格
文件名称文件版本文件大小日期时间
System.data.dll2.0.50727.44003,234,8162009 年 9 月 10 日11: 54

替代方法

要解决此问题,请使用下列方法之一。

方法 1

编辑要配置错误和截断重定向或托管 ADO DataReader 源上的 SSIS 包。NET 数据源。编辑错误输出重定向到目标的 SSIS 包后,即使没有行被写入到目标文件包将成功运行。为此,请按照下列步骤。

注意 以下步骤假定您正在使用 DataReader 从源中读取数据的 SQL 服务器 2005 SSIS 包。
  1. SQL Server 业务智能开发 Studio 中打开 SSIS 包。
  2. 打开 DataReader 源的高级的编辑器 对话框数据流设计器中。
  3. 单击 输入和输出属性 选项卡,然后展开 DataReader 输出 中的节点 输入和输出 目录树。
  4. 展开 输出列 节点。
  5. 单击下的每个列 输出列 节点,然后检查 数据类型 属性。对于每一列其 数据类型 属性是截断、 DT_NTEXT、 DT_BYTES 或 DT_IMAGE,请编辑下面的两个属性:
    • 设置 ErrorRowDisposition 属性设置为 RD_RedirectRow.
    • 设置 TruncationRowDisposition 属性设置为 RD_RedirectRow.
  6. 单击 确定 若要保存所做的更改。
  7. 在数据流设计器中,将添加新的目标位置。例如,添加平面文件目标或 SQL Server 目标。
  8. 使用 DataReader 源中的红色箭头将其连接到新添加的目标。此操作将引导的错误行和截断行到目标转到保存错误行。
  9. "症状"一节中提到的错误消息,并且访问 ODBC 的字符串或图像列失败的所有数据流任务重复步骤 1 至 8。

方法 2

卸载。NET Framework 2.0 SP2 或。NET 框架 3.5 SP1。但是,我们不建议您首先卸载服务包,因为这牺牲的可靠性、 改善的功能和性能优化,它还提供。

若要将系统还原到安装前的状态。NET Framework 2.0 SP2 或。NET 框架 3.5 SP1,请按照下列步骤操作:
  1. 在控制面板中,双击 添加或删除程序.
  2. 找到 Microsoft。NET 框架 3.5 SP1,然后将其卸载。
  3. 找到 Microsoft。NET Framework 3.0 SP2,然后将其卸载。
  4. 找到 Microsoft。NET Framework 2.0 SP2,然后将其卸载。
  5. 重新安装的原始版本。NET 框架 3.5。此步骤将重新安装。NET Framework 2.0 SP1 和。NET Framework 3.0 SP1。若要获取。NET 框架 3.5 英寸,请访问下面的 Microsoft 网站:
    一节?FamilyId = 333325FD-AE52-4E35-B531-508D977D32A6 & displaylang = en

方法 3

请联系第三方 ODBC 驱动程序供应商以确定供应商是否已为要解决此问题的驱动程序更新。

状态

Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

属性

文章编号: 969845 - 最后修改: 2011年12月1日 - 修订: 5.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
关键字:?
kbautohotfix kbhotfixserver kbsurveynew kbfix kbqfe kbexpertiseadvanced kbmt KB969845 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 969845
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com