تصحيح: رسالة خطأ عند تشغيل تطبيق يستند إلى SQL Server 2008 باستدعاء الدالة SQLBindParameter: "استدعاء إجراء عن بعد (TDS) دفق البروتوكول (RPC) غير صحيح دفق البيانات الواردة جدولي"

تقوم Microsoft بتوزيع الإصلاحات Microsoft SQL Server 2008 كأحد الملفات القابلة للتنزيل. لأن الإصلاحات التراكمي، كل إصدار جديد يحتوي على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2008 السابقة.

الأعراض

في تطبيق ما، يمكنك استخدام برنامج "عميل SQL Server 2008 الأصلي". استدعاء دالة SQLBindParameter لربط معلمة نوع بيانات الأحرف العريضة لاستعلام. على سبيل المثال، يمكنك ربط معلمة من نوع البيانات NCHAR أو من نوع البيانات NVARCHAR . التطبيق بتمرير قيمة أكبر من 4000 إلى المعلمة كولومنسيزي للدالة SQLBindParameter . عند تشغيل الاستعلام في التطبيق، تتلقى رسالة الخطأ التالية:

دفق البيانات الواردة جدولي (TDS) استدعاء إجراء بعيد (RPC) بروتوكول دفق غير صحيح. المعلمة 1 (""): يحتوي نوع البيانات 0xE7 على طول بيانات غير صحيحة أو طول بيانات التعريف.
ملاحظة: رسالة الخطأ هذه رسالة خطأ بالخادم. إذا كان التطبيق يستخدم برنامج "عميل SQL Server 2005 الأصلي" بدلاً من ذلك، تظهر رسالة الخطأ العميل التالية كما هو متوقع:

[Microsoft] [عميل SQL الأصلي] قيمة الدقة غير صالحة

السبب

تحدث هذه المشكلة لأن برنامج "عميل SQL Server 2008 الأصلي" ليس إجراء تدقيق وقت تشغيل من حجم العمود الإدخال للدالة SQLBindParameter . بالإضافة إلى ذلك، يتضاعف برنامج التشغيل حجم العمود إذا كان حجم العمود الإدخال أكبر من 4000 والمعلمة نوع بيانات أحرف عريضة. ولذلك، SQL Server بإرجاع خطأ من جانب الملقم أن المعلمة يتجاوز الحد الأعلى (8000).

ملاحظة: برنامج تشغيل "عميل SQL Server 2005 الأصلي" إجراء تدقيق وقت تشغيل لحجم العمود الإدخال. ولذلك، إذا كان حجم العمود الإدخال أكبر من 8000، برنامج "عميل SQL Server 2005 الأصلي" بإرجاع خطأ العميل.

الحل


تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في التحديث التراكمي 3 ل SQL Server 2008 Service Pack 1. لمزيد من المعلومات حول حزمة التحديث التراكمي هذه، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
971491 التراكمية حزمة 3 تحديث ل SQL Server 2008 Service Pack 1
ملاحظة: لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2008 السابقة. توصي Microsoft بمراعاة تطبيق أحدث إصدار للإصلاح الذي يحتوي على هذا الإصلاح العاجل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
970365 بناء SQL Server 2008 التي تم إصدارها بعد إصدار SQL Server 2008 Service Pack 1
يتم إنشاء الإصلاحات العاجلة ل Microsoft SQL Server 2008 لحزم خدمة SQL Server معينة. يجب تطبيق إصلاح عاجل SQL Server 2008 Service Pack 1 لتثبيت SQL Server 2008 Service Pack 1. بشكل افتراضي، يتم تضمين أي إصلاح جديد قد يتوفر في حزمة خدمـات لـ SQL Server في حزمة خدمـات لـ SQL Server التالية.

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".

المراجع

لمزيد من المعلومات حول "نموذج تقديم تزايدي" ل SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

935897 "نموذج تقديم تزايدي" يتوفر من فريق SQL Server لتسليم الإصلاحات العاجلة للمشاكل التي تم الإبلاغ عنها



لمزيد من المعلومات حول مخطط التسمية لتحديثات SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

822499 مخطط تسمية جديد لحزم تحديثات برامج Microsoft SQL Server


لمزيد من المعلومات حول مصطلحات تحديث البرامج، انقر فوق رقم المقال التالي لعرضه في "قاعدة معارف Microsoft":
824684 وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft
خصائص

رقم الموضوع: 971051 - آخر مراجعة: 13‏/01‏/2017 - المراجعة: 1

تعليقات