سؤال: إنني أحاول استخدام أسلوب فتح الجدول/إغلاق الجدول لإنشاء جدولي SQL
بمهارة. ومع ذلك، في العبارة "فتح جدول"، يتم إرجاع SQL الخطأ التالي: "فشلت عملية مفتوحة في الجدول xxx في الوصول إلى SQL
البيانات". عندما أنقر فوق مزيد من المعلومات، ستقول "[Microsoft][ODBC SQL Server Driver][SQL Server] يوجد بالفعل كائن يسمى PKADSY4997 في قاعدة البيانات. [Microsoft] [برنامج تشغيل ODBC SQL Server التشغيل] [SQL Server] لا يمكن إنشاء قيد. راجع الأخطاء السابقة."
الاسم الفعلي جدولي هو PKADSY4997 غير موجود ولا أي من الإجراءات المخزنة في zDP لهذا الجدول. ما الذي يمكن أن يكون السبب في حدوث الخطأ؟
الإجابة: في هذه الحالة، تم إنشاء الجدول وإسقاطه مسبقا ولكن لسبب ما لم تتم إزالة قيد على
الجدول.
في محلل الاستعلامات، قمنا تشغيل هذا الاستعلام: حدد * من
sysobjects حيث الاسم = 'PKADSY4997' المرجع
هو 151193332 وكان parent_obj 173243672.
بالنظر إلى العمود parent_obj، قمنا بعد ذلك ب تشغيل استعلام تحديد مقابل الكائن الأصل و لم نتمكن من العثور عليه. لذا كان هذا قيدا معزولا كما توقعنا.
في هذه المرحلة، نحتاج إلى حذف القيد المعزول. ولكن أولا، يجب تغيير إعداد.
في نافذة SQL Server خصائص، توجد خانة اختيار يجب وضع علامة عليها للسماح بحذف هذا القيد- السماح بإجراء تعديلات مباشرة على كتالوجات النظام.
الآن من محلل الاستعلامات: الحذف من
sysobjects حيث الاسم = ''PKADSY4997' يؤدي ذلك إلى إزالة القيد ويمكن إعادة إنشاء الجدول بشكل صحيح من
التحليل الآن.
كانت هذه المقالة TechKnowledge Document ID:26107