นำไปใช้กับ
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

อาการ

เมื่อคุณเรียกใช้แบบสอบถามเพื่อเลือกข้อมูลจากเซิร์ฟเวอร์ที่เชื่อมโยงกับ Oracle โดยใช้ผู้ให้บริการ OLE DB ใน Microsoft SQL Server ๒๐๑๒หรือ SQL Server ๒๐๑๔ค่าในคอลัมน์ชนิดหมายเลขอาจถูกตัดทอนในผลลัพธ์ของคิวรี

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากชนิดตัวเลข Oracle ที่มีความแม่นยำ/มาตราส่วนที่ไม่ได้ประกาศอาจไม่มีการแมป1:1 ที่ชัดเจนไปยังชนิดข้อมูล SQL Server ก่อนที่ CU2 SQL Server ๒๐๑๒ SP2 CU2, SQL Server maps ค่าดังกล่าวไปยังสตริงในการตรวจสอบให้แน่ใจว่าไม่มีการสูญเสียความแม่นยำที่เกิดขึ้น อย่างไรก็ตามที่อาจนำไปสู่ผลลัพธ์ที่ไม่ถูกต้องถ้าคิวรีที่จำเป็นต้องมีการเรียงลำดับบนค่าดังกล่าว ในการ CU2 SQL Server ๒๐๑๒ SP2 การแมปจะถูกเปลี่ยนเป็นตัวเลข (๓๘, 0) เพื่ออนุญาตให้มีคีย์จำนวนเต็มขนาดใหญ่ที่ schema ของฐานข้อมูลบางส่วนใช้ตัวเลขโดยไม่มีความแม่นยำ/มาตราส่วนสำหรับ สิ่งนี้จะนำไปสู่ regressions เมื่อต้องการค่าที่ไม่ใช่จำนวนเต็ม

การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:

วิธีแก้ไขปัญหาชั่วคราว

เมื่อต้องการแก้ไขปัญหานี้ให้แปลงเขตข้อมูล Oracle จากชนิดตัวเลขเป็นชนิดข้อมูลที่ได้รับการสนับสนุนอย่างสมบูรณ์โดย SQL Server ก่อน

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"

ผลิตภัณฑ์ของบริษัทอื่นที่มีการกล่าวถึงในบทความนี้ ผลิตโดยบริษัทต่างๆ ที่ไม่เกี่ยวข้องกับ Microsoft Microsoft ไม่รับประกัน ทั้งโดยนัยหรืออย่างอื่นใด เกี่ยวกับประสิทธิภาพหรือความน่าเชื่อถือของผลิตภัณฑ์เหล่านี้

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ