تصحيح: رسالة خطأ عند تشغيل عبارة SQL باستخدام موفر OLE DB ل DB2: "SQLSTATE 22007، SQLCODE-181"

الأعراض

اطلع على السيناريو التالي. تشغيل عبارة SQL باستخدام موفر Microsoft OLE DB ل DB2. تمرير عبارة SQL معلمة datetime Microsoft SQL Server لعمود قاعدة بيانات العمومية ل IBM DB2. عمود قاعدة البيانات العمومية ل IBM DB2 يستخدم نوع البيانات العمومية ل IBM DB2 التاريخ . في هذا السيناريو، قد تظهر رسالة الخطأ التالية:
SQLSTATE: 22007، SQLCODE:-181
على سبيل المثال، عبارة SQL التالية تمرير معلمة datetime SQL Server لعمود قاعدة بيانات العمومية ل IBM DB2.
declare @var1 datetimeset @var1 = '2006-09-27 00:00:00.000'
SELECT COL1, COL2, COL3
FROM IBMDB2.TESTDATA.USER1.TABLE1
WHERE COL2 = @var1

في هذا المثال، تحدث هذه المشكلة إذا كان يستخدم العمود عمود 2، أي نوع بيانات IBM DB2 التاريخ .

السبب

في وقت التشغيل، لا يعرف موفر OLE DB ل DB2 الصحيح IBM DB2 نوع البيانات لعمود قاعدة البيانات العمومية ل IBM DB2 الذي يتم تمرير المعلمة datetime SQL Server. ولذلك يشمل موفر OLE DB ل DB2 معلومات التاريخ والوقت المعلومات في القيمة التي يتم تمريرها لقاعدة البيانات العمومية ل IBM DB2 موفر OLE DB ل DB2. معلومات الوقت غير صالحة لنوع بيانات IBM DB2 التاريخ . ولذلك، تظهر رسالة الخطأ المذكورة في قسم "الأعراض".

الحل

خادم تكامل المضيف Microsoft 2006

لحل هذه المشكلة، يجب الحصول على أحدث حزمة خدمة ل 2006 الملقم المضيف التكامل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
كيفية الحصول على أحدث حزمة خدمة ل 2006 الملقم المضيف تكامل 979497

خادم تكامل المضيف Microsoft 2004

يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، يهدف هذا الإصلاح العاجل إلى حل المشكلة الموضحة في هذه المقالة فقط. تطبيق هذا الإصلاح العاجل فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير المشكلة كبيرا، نوصي بالانتظار حتى الإصدار التالي من تحديث البرنامج الذي يحتوي على هذا الإصلاح العاجل.

إذا كان يتوفر الإصلاح العاجل للتنزيل، يوجد مقطع "توفر تنزيل الإصلاح عاجل" أعلى مقالة قاعدة المعارف. في حالة عدم ظهور هذا القسم، اتصل بخدمة العملاء ل Microsoft والدعم للحصول على الإصلاح العاجل.

ملاحظة: في حالة حدوث مشكلات إضافية أو يجب إجراء استكشاف للأخطاء وحلها، قد يلزم إنشاء طلب خدمة منفصل. سيتم تطبيق تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشكلات التي لا يعمل على حلها هذا الإصلاح العاجل بالتحديد. للحصول على قائمة أرقام هواتف خدمة العملاء ل Microsoft والدعم أو لإنشاء طلب خدمة منفصل، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة: يعرض النموذج "توفر تنزيل الإصلاح العاجل" اللغات التي يتوفر الإصلاح الجديد. في حالة عدم ظهور اللغة الخاصة بك، يكون بسبب عدم توفر إصلاح عاجل لتلك اللغة.

معلومات الملف

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل على سمات الملف (أو سمات الملف الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي المتفق عليه (UTC). عند عرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي المتفق عليه والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسيمتطلب حزمة الخدمة
Db2oledb.dll6.0.2048.0488,96003-Nov-200617:31x86SP1
Db2oledb.hغير قابل للتطبيق24,57903-Nov-200617:36غير قابل للتطبيقSP1
Ddmstr.dll6.0.2048.04403203-Nov-200617:31x86SP1
Drdaresync.exe6.0.2048.0337,40803-Nov-200617:32x86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.08601603-Nov-200617:31x86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003-Nov-200617:32x86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803-Nov-200617:31x86SP1
Mseidb2c.dll6.0.2048.071,68003-Nov-200617:31x86SP1
Mseidb2d.dll6.0.2048.0435,20003-Nov-200617:31x86SP1
Mseidrda.dll6.0.2048.0695,80803-Nov-200617:32x86SP1
ملاحظة: بسبب تبعيات الملف، قد يحتوي الإصلاح العاجل الأحدث التي تحتوي على هذه الملفات أيضا على ملفات إضافية.

موفر Microsoft OLE DB ل DB2 الإصدار 1.0

يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، يهدف هذا الإصلاح العاجل إلى حل المشكلة الموضحة في هذه المقالة فقط. تطبيق هذا الإصلاح العاجل فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير المشكلة كبيرا، نوصي بالانتظار حتى الإصدار التالي من تحديث البرنامج الذي يحتوي على هذا الإصلاح العاجل.

إذا كان يتوفر الإصلاح العاجل للتنزيل، يوجد مقطع "توفر تنزيل الإصلاح عاجل" أعلى مقالة قاعدة المعارف. في حالة عدم ظهور هذا القسم، اتصل بخدمة العملاء ل Microsoft والدعم للحصول على الإصلاح العاجل.

ملاحظة: في حالة حدوث مشكلات إضافية أو يجب إجراء استكشاف للأخطاء وحلها، قد يلزم إنشاء طلب خدمة منفصل. سيتم تطبيق تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشكلات التي لا يعمل على حلها هذا الإصلاح العاجل بالتحديد. للحصول على قائمة أرقام هواتف خدمة العملاء ل Microsoft والدعم أو لإنشاء طلب خدمة منفصل، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة: يعرض النموذج "توفر تنزيل الإصلاح العاجل" اللغات التي يتوفر الإصلاح الجديد. في حالة عدم ظهور اللغة الخاصة بك، يكون بسبب عدم توفر إصلاح عاجل لتلك اللغة.

معلومات الملف

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل على سمات الملف (أو سمات الملف الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي المتفق عليه (UTC). عند عرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي المتفق عليه والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
إصدار 32-بت (x86)
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسيمتطلب حزمة الخدمة
Db2oledb.dll6.0.2048.0488,96003-Nov-200617:31x86SP1
Db2oledb.hغير قابل للتطبيق24,57903-Nov-200617:36غير قابل للتطبيقSP1
Ddmstr.dll6.0.2048.04403203-Nov-200617:31x86SP1
Drdaresync.exe6.0.2048.0337,40803-Nov-200617:32x86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.08601603-Nov-200617:31x86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003-Nov-200617:32x86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803-Nov-200617:31x86SP1
Mseidb2c.dll6.0.2048.071,68003-Nov-200617:31x86SP1
Mseidb2d.dll6.0.2048.0435,20003-Nov-200617:31x86SP1
Mseidrda.dll6.0.2048.0695,80803-Nov-200617:32x86SP1
الإصدار 64 بت (x64)
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسيفرع الخدمة
Db2oledb.dll7.0.2535.0758,54407-Nov-200612:34x64غير قابل للتطبيق
Microsoft.hostintegration.dataaccesslibrary.dll7.0.2535.02,550,61607-Nov-200612:34x64غير قابل للتطبيق
Microsoft.hostintegration.dataaccesstool.exe7.0.2535.0613,20007-Nov-200612:34x64غير قابل للتطبيق
Mseidrda.dll7.0.2535.01,355,53607-Nov-200612:34x64غير قابل للتطبيق
Snanls.dll7.0.2535.0128,77607-Nov-200612:34x64غير قابل للتطبيق
Db2oledb.dll7.0.2535.0516,88007-Nov-200612:34x86سيسووو
Mseidrda.dll7.0.2535.0781,07207-Nov-200612:34x86سيسووو
Snanls.dll7.0.2535.0105,22407-Nov-200612:34x86سيسووو
ملاحظة: بسبب تبعيات الملف، قد يحتوي الإصلاح العاجل الأحدث التي تحتوي على هذه الملفات أيضا على ملفات إضافية.

الحالة

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

مزيد من المعلومات

يضيف هذا الإصلاح دعما لخاصية سلسلة اتصال جديدة. باستخدام خاصية سلسلة اتصال جديدة، يمكنك تمرير معلمة datetime SQL Server بقاعدة بيانات IBM DB2 كنوع بيانات IBM DB2 التاريخ . حذف موفر OLE DB ل DB2 معلومات الوقت في القيمة المعلمة datetime SQL Server. ولذلك، موفر OLE DB ل DB2 بتمرير معلومات التاريخ لقاعدة البيانات العمومية ل IBM DB2.

خاصية سلسلة الاتصال الجديدة على التعريف التالي:
التاريخ والوقت كتاريخ =القيمة
في هذه الخاصية سلسلة الاتصال، يمكنك تعريف قيمة TRUE أو FALSE. إذا قمت بإضافة "التاريخ كتاريخ" = TRUE تحويل البيان إلى سلسلة الاتصال موفر OLE DB ل DB2 المعلمة datetime SQL Server إلى نوع بيانات IBM DB2 تاريخ . ثم يمرر موفر OLE DB ل DB2 القيمة لقاعدة البيانات العمومية ل IBM DB2.

إذا قمت بإضافة "التاريخ كتاريخ" = FALSE البيان إلى سلسلة الاتصال موفر OLE DB ل DB2 تمرير معلمة datetime ملقم SQL لقاعدة البيانات العمومية ل IBM DB2 كما حددت في عبارة SQL. في هذه الحالة، موفر OLE DB ل DB2 بتمرير معلومات التاريخ والوقت المعلومات لقاعدة البيانات العمومية ل IBM DB2.

ملاحظة: هذا السلوك هو السلوك الافتراضي إذا لم تقم بإضافة خصائص التاريخ والوقت كتاريخ لسلسلة الاتصال.

يوضح المثال التالي سلسلة اتصال كيفية استخدام خصائص التاريخ والوقت كتاريخ .
; Everything after this line is an OLE DB initialization string.Provider=DB2OLEDB;Password=<Password>;Persist Security Info=True;User ID=<Username>;Initial Catalog=S105FRDM;Defer Prepare=False;Derive Parameters=False;Network Transport Library=TCP;Host CCSID=37;PC Code Page=1252;Network Address=<Address>;Network Port=446;Package Collection=DB2USER;Default Schema=DB2USER;Default Qualifier=DB2USER;DBMS Platform=DB2/AS400;Process Binary as Character=False;Connection Pooling=True;Units of Work=RUW;DateTime As Date=TRUE

هام: بعد تطبيق هذا الإصلاح العاجل وإضافة "التاريخ كتاريخ" = TRUE البيان إلى سلسلة الاتصال، قد تتلقى رسالة الخطأ التالية:
SQLSTATE: 22007، SQLCODE:-180
تحدث هذه المشكلة إذا كان عمود قاعدة البيانات العمومية ل IBM DB2 يستخدم نوع البيانات العمومية ل IBM DB2 الطابع الزمني . تحدث هذه المشكلة لأن قاعدة البيانات العمومية ل IBM DB2 يتوقع أن يتلقى معلومات التاريخ والوقت المعلومات عندما يتم تمرير استعلام لعمود قاعدة بيانات العمومية ل IBM DB2 يستخدم نوع البيانات العمومية ل IBM DB2 الطابع الزمني . "التاريخ كتاريخ" = TRUE تسبب عبارة موفر OLE DB ل DB2 لحذف معلومات الوقت في القيمة المعلمة datetime SQL Server. ولذلك، البيانات غير صحيحة عندما يتم تمرير الاستعلام لعمود قاعدة البيانات العمومية ل IBM DB2 يستخدم نوع البيانات العمومية ل IBM DB2 الطابع الزمني .

إذا كان يجب استعلام جدول IBM DB2 يستخدم نوع البيانات العمومية ل IBM DB2 التاريخ ونوع بيانات IBM DB2 الطابع الزمني ، قد يلزم استخدام عدة سلاسل الاتصالات التي تم تكوينها لاستخدام الخصائص الصحيحة. وبعد ذلك، يمكنك بنجاح الاستعلام مختلف أنواع البيانات العمومية ل IBM DB2.

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

824684 وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft

منتجات الجهات الأخرى المذكورة في هذه المقالة تابعة لشركات مستقلة عن Microsoft. لا تقدم Microsoft أي ضمان، سواء ضمنياً أو صريحا، بخصوص أداء هذه المنتجات أو كفاءتها.
خصائص

رقم الموضوع: 924599 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 2

تعليقات