修复:"传入表格格式数据流 (TDS) 协议流不正确"SQLPutData 函数中的 SQL Server 2008 R2 TVP 插入 SQL_NULL_DATA 值时出现错误

适用于: SQL Server 2008 R2

Microsoft 为一个可下载文件分发 Microsoft SQL Server 2008 R2 的修补程序。 修补程序是累积性的因为每个新版本包含的所有修补程序和附带上一个 SQL Server 2008 R2 的所有安全修补程序的修补都程序版本。

症状


请考虑以下情况:
  • 您必须运行 Microsoft SQL Server 2008 R2 的计算机。
  • 运行客户端应用程序使用 SQL Server 2008 R2 本机客户端 ODBC 驱动程序绑定作为执行中的数据列的表值参数。
  • 客户端应用程序调用SQLPutData函数的SQL_NULL_DATA值更改表值参数。
在此方案中,客户端应用程序不会调用SQLPutData函数,并收到以下错误消息:
[28000]-[Microsoft] [SQL Server 本机客户端 10.0] [SQL Server] 传入的数据表格数据流 (TDS) 协议流不正确。 该流意外结束

原因


出现此问题是因为 ODBC 驱动程序不会发送到表值参数的SQL_NULL_DATA值的数据长度。

解决方案


若要解决此问题,将在 SQL Server 2008 R2 的本机客户端安装的计算机上应用以下修复程序。

累积更新信息

SQL Server 2008 R2 Service Pack 1

此问题的修补程序首次发布累积更新 1 中的 SQL Server 2008 R2 Service Pack 1。有关如何获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2544793 SQL Server 2008 R2 Service Pack 1 的累积更新包 1
回答 5: 适用于 Windows Server 2016 和 Windows 10 版本 1709 的 Windows Server 容器映像的更新包含针对这组漏洞的缓解措施,不需要进行额外的配置。 由于 Build 是累积性的,因此每个新修补程序版本包含之前的 SQL Server 2008 R2 修补程序版本所包括的所有修订程序和安全修补程序。 我们建议您考虑将应用包含此修复程序的最新的修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本

SQL Server 2008 R2

累积更新 8 中首次发布此问题的修补程序。有关如何为 SQL Server 2008 R2 中获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2534352 SQL Server 2008 R2 的累积更新包 8
回答 5: 适用于 Windows Server 2016 和 Windows 10 版本 1709 的 Windows Server 容器映像的更新包含针对这组漏洞的缓解措施,不需要进行额外的配置。 由于 Build 是累积性的,因此每个新修补程序版本包含之前的 SQL Server 2008 R2 修补程序版本所包括的所有修订程序和安全修补程序。 我们建议您考虑将应用包含此修复程序的最新的修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
981356 在SQL Server 2008 R2 发布后SQL Server 2008 R2 生成发布

状态


Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考


SQLPutData函数的详细信息,请访问下面的 MSDN 网站:有关如何使用执行中的数据列的详细信息,请访问下面的 MSDN 网站:表值参数的更多信息,请访问下面的 MSDN 网站:对于 SQL Server 的增量服务模式的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897 增量服务模式是可以从 SQL Server 团队提供报告的问题的修补程序
有关命名 SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499对于 Microsoft SQL Server 软件更新程序包的新命名方案
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明