PRB: الموزعة خطأ إرجاع استعلامات 7356 مع MSDAORA

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

اضغط هنا لرابط المقالة باللغة الانجليزية251238
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الأعراض
إذا تغير معلومات بيانات تعريف في وقت تنفيذ يحدث الخطأ التالي:
ملقم: رسالة 7356 ، مستوى 16 حالة 1، السطر 1
موفر OLE DB 'MSDAORA' توفير بيانات التعريف غير متناسقة لعمود.
قد يحدث هذا الخطأ عند استخدام استعلامات الموزعة في ملقم SQL التي تشير إلى طريقة عرض إذا قمت بإنشاء الجدول الأساسي في Oracle الحالات التالية:
  • لا تقم بتحديد Nullability في عبارة CREATE TABLE. - و -

  • إنشاء "مفتاح أساسي" باستخدام عبارة ALTER TABLE - و -

  • إنشاء طريقة عرض تتضمن PRIMARY KEY.
السبب
إرجاع IDBSchemaRowset::GetRowset لـ DBSCHEMA_COLUMNS IS_NULLABLE كـ TRUE.

إرجاع IColumnsInfo::GetColumnInfo على مجموعة الصفوف DBCOLUMNFLAGS_ISNULL كـ FALSE.

وبسبب هذه التعارضات استعلامات الموزعة الفشل مع الخطأ 7356.

موفر OLE DB Msdaora.dll ، بإرجاع المعلومات غير صحيح لأن بيانات التعريف التي ترجع Oracle غير صحيح.

الحل
تحديد Nullability العمود بشكل صريح أثناء عبارة CREATE TABLE.
تصريح
يعتبر هذا السلوك حسب التصميم.
معلومات أخرى

خطوات إعادة إنشاء السلوك

استخدم هذه الخطوات بإعادة إنشاء السلوك:
  1. إنشاء جدول الاختبار باستخدام هذه التعليمة البرمجية:
    CREATE TABLE MYDIST      (GMI_ID  VARCHAR2(8)      ,LAST_NAME VARCHAR2(20)      ,FIRST_NAME VARCHAR2(20) )					
  2. جدول باستخدام هذه التعليمة البرمجية:
       ALTER TABLE MYDIST      ADD (CONSTRAINT MYDIST_PK PRIMARY KEY (GMI_ID))					
  3. إدراج بيانات في الجدول باستخدام هذه التعليمة البرمجية:
       INSERT INTO MYDIST VALUES ('test1','row','one')   INSERT INTO MYDIST VALUES ('test2','row','two')					
  4. إنشاء طريقة عرض استخدام هذا:
       CREATE VIEW V_MYDIST1 AS      SELECT GMI_ID FROM MYDIST					
  5. إنشاء إدخال ملقم مرتبط باستخدام ملف msdaora.dll وتنفيذ الاستعلام التالي:
    select * from <OracleLinkedServer>..<SchemaName>.V_MYDIST1					
    الاستعلام إرجاع هذا الخطأ:
    ملقم: رسالة 7356 ، مستوى 16 حالة 1، السطر 1
    موفر OLE DB 'MSDAORA' توفير بيانات التعريف غير متناسقة لعمود. تم تغيير معلومات بيانات تعريف في وقت التنفيذ.

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 251238 - آخر مراجعة: 12/05/2015 18:16:32 - المراجعة: 3.2

Microsoft OLE DB Provider for Oracle Server 1.0, Microsoft OLE DB Provider for Oracle Server 1.0, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 7.0 Service Pack 1

  • kbnosurvey kbarchive kbmt kbmdacnosweep kboracle kbprb KB251238 KbMtar
تعليقات