الأعراض
عند تنفيذ استعلام لتحديد البيانات من خادم مرتبط ب 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:
الحل البديل
لحل هذه المشكلة ، قم بتحويل الحقل اوراكل من نوع الرقم إلى نوع بيانات معتمد بالبالكامل بواسطة SQL Server أولا.
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
منتجات الجهات الأخرى المذكورة في هذه المقالة تم تصنيعها بواسطة شركات مستقلة عن Microsoft. ولذلك، لا تقدم Microsoft أي ضمان، سواء ضمنيًا أو صريحًا، بخصوص أداء تلك المنتجات أو كفاءتها.