תופעות
בעת ביצוע שאילתה כדי לבחור נתונים משרת מקושר ב-Oracle באמצעות ספק OLE DB ב-Microsoft SQL Server 2012 או ב-SQL Server 2014, הערכים בעמודה סוג מספר עשויים להיחתך בתוצאת השאילתה.
סיבה
בעיה זו מתרחשת מאחר שסוג מספר האורקל עם דיוק או קנה מידה שאינו מוצהר אינו כולל מיפוי ברור של 1:1 לסוג נתונים של SQL Server. לפני ש-SQL Server 2012 SP2 CU2, SQL Server ממפה ערכים כגון למחרוזות כדי לוודא שלא מתבצעת הפסקת דיוק. עם זאת, הדבר עשוי להוביל לתוצאות שגויות אם השאילתה נדרשת סדר מיון בערכים אלה. ב-SQL Server 2012 SP2 CU2, המיפוי משתנה למספרי (38, 0) כדי לאפשר ייצוג של מפתחות מספר שלם גדול שסכימות מסד נתונים מסוימות משתמשים במספר ללא דיוק/קנה מידה. פעולה זו מובילה לרגרסיה כאשר יש צורך בערכים שאינם מספר שלם.
פתרון
לאחר החלת תיקון זה, ערכים מספריים בעלי דיוק/קנה מידה לא ידוע מטופלים כערכים כפולים באמצעות ספק OLE DB. אם הדיוק חשוב וטווח הערכים אינו גדול מספיק, באפשרותך להפעיל את דגל המעקב החדש 7314 שיתחיל להתייחס לערכים כגון מספריים (38, 10).
הבעיה נפתרה לראשונה בעדכון המצטבר הבא של SQL Server.
עדכון מצטבר 1 עבור SQL Server 2014 SP1 /en-us/help/3067839
עדכון מצטבר 8 עבור SQL Server 2014 /en-us/help/3067836
עדכון מצטבר 6 עבור SQL Server 2012 SP2 /en-us/help/3052468
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
פתרון
כדי לעקוף בעיה זו, המר את השדה Oracle מסוג מספר לסוג נתונים שנתמך באופן מלא על-ידי SQL Server תחילה.
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".
מוצרי צד-שלישי הנזכרים במאמר זה מיוצרים על-ידי חברות שאינן תלויות ב-Microsoft. Microsoft אינה מעניקה אחריות, בין במפורש ובין במשתמע, לביצועיהם או למהימנותם של מוצרים אלה.