使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

当使用 Microsoft SQL Server 2012 或 SQL Server 2014 中的 OLE DB 访问接口从 Oracle 链接服务器中执行查询以选择数据时,查询结果中的 "数字类型" 列中的值可能会被截断。

原因

出现此问题的原因是,具有非声明精度/小数位数的 Oracle 数字类型可能不会将明文1:1 映射到 SQL Server 数据类型。 在 SQL Server 2012 SP2 CU2 之前,SQL Server 将此类值映射到字符串,以确保不会发生精度损失。 但是,如果查询所需的排序顺序在此类值上,这可能会导致不正确的结果。 在 SQL Server 2012 SP2 CU2 中,将映射更改为数字(38,0),以允许对某些数据库架构使用数字而不是精度/小数位数的大整数键的表示形式。 这会在需要非整数值时导致回归。

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

解决方法

若要解决此问题,请将 Oracle 字段从 NUMBER 类型转换为 SQL Server 首先完全支持的数据类型。

状态

Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 对于这些产品的性能或可靠性,Microsoft 不做任何暗示保证或其他形式的保证。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×