أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

ASP إرجاع الخطأ "يجب استخدام عملية استعلام قابل للتحديث"

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

اضغط هنا لرابط المقالة باللغة الانجليزية175168
الأعراض
قد تواجه خطأ شائع التالية عند استخدام كائنات بيانات ActiveX (ADO) مع صفحات الملقم النشطة (ASP):
موفر Microsoft OLE DB لـ برامج تشغيل ODBC الخطأ '80004005'
[Microsoft][برنامج تشغيل Microsoft Access 97 ODBC] يجب أن تستخدم عملية استعلام قابل للتحديث.
السبب
توضح هذه المقالة أسباب أربعة الأساسي هذا الخطأ والحلول المطابق. على الرغم من أن تشير هذه المقالة إلى قواعد بيانات Microsoft Access ، تنطبق المعلومات هنا أيضاً على أنواع أخرى من قواعد البيانات.
الحل
يحدث هذا الخطأ عادةً عند محاولة البرنامج النصي إلى تنفيذ UPDATE أو بعض الإجراءات الأخرى تبديل المعلومات في قاعدة البيانات. يحدث هذا الخطأ لأن ADO غير قادر على الكتابة إلى قاعدة البيانات لسبب من الأسباب التالية:

  1. السبب الأكثر شيوعاً هو الذي حساب "ضيف إنترنت" (IUSR_MACHINE) ، وهو قبل جزء الافتراضي من "" المجموعة Everyone ، ليس لديه أذونات الكتابة على ملف قاعدة البيانات (mdb.). لإصلاح هذه المشكلة، استخدم علامة التبويب أمان في Explorer لضبط الخصائص لهذا الملف بحيث يكون لدى الحساب Guest إنترنت الأذونات الصحيحة.

    ملاحظة: عند استخدام قواعد بيانات Microsoft Access باستخدام ADO, من الضروري أيضاً منح الحساب Guest إنترنت أذونات الكتابة على الدليل الذي يحتوي على ملف .mdb. ويرجع ذلك إلى أن Jet بإنشاء ملف .ldb لمعالجة تأمين قاعدة البيانات. قد تحتاج أيضاً إلى إعطاء إذن القراءة/الكتابة على المجلد "Temp" لأنه قد Jet إنشاء الملفات المؤقتة في هذا الدليل.
  2. سبب ثاني لهذا الخطأ أنه لم يتم فتح قاعدة البيانات مع MODE الصحيح للكتابة. إذا قمت بإجراء فتح على كائن اتصال استخدام الخاصية وضع للإشارة الأذونات على الاتصال كما هو موضح هنا:
          SQL = "UPDATE Products Set UnitPrice = 2;"      Set Conn = Server.CreateObject("ADODB.Connection")      Conn.Mode = 3      '3 = adModeReadWrite      Conn.Open "myDSN"      Conn.Execute(SQL)      Conn.Close						
    ملاحظة: افتراضياً، يتم تعيين MODE إلى 0(adModeUnknown) بشكلٍ عام يسمح التحديثات.
  3. السبب آخر لهذا الخطأ هو أن الإعداد "للقراءة فقط" قد يكون التحقق في صفحة "خيارات" في "إدارة ODBC DSN هذا.
  4. المشكلة الأخير والعمل حول تنتمي إلى أي مصدر بيانات SQL. يمكن أن يكون سبب الخطأ عبارات SQL التي تخالف التكامل المرجعي من قاعدة البيانات. فيما يلي بعض الاستعلامات الأكثر شيوعاً التي فشل:
    • هي مجموعات أبسط التعامل مع تلك لا يمكنك تغيير: الاستعلامات الإجرائية جدولي أو SQL التمريري ، توحيد, أو التحديث (أو إنشاء جدول) تحتوي على خصائص UniqueValue تعيين إلى "نعم".

    • سبب آخر شائع عندما الصلة تتضمن جداول ODBC مرتبطة التي لا تتضمن الفهارس الفريدة. في هذه الحالة، توجد طريقة لـ SQL أن تضمن أن تكون السجلات فريدة في جدول الذي يحتوي على حقول سيتم تغيير قيمته مع الاستعلام.

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

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

خصائص

رقم الموضوع: 175168 - آخر مراجعة: 01/23/2006 21:56:48 - المراجعة: 4.3

Microsoft Active Server Pages 4.0, Microsoft Internet Information Server 4.0, Microsoft Internet Information Services 5.0, Microsoft ActiveX Data Objects 2.0, Microsoft ActiveX Data Objects 2.1, Microsoft ActiveX Data Objects 2.1 Service Pack 2, Microsoft ActiveX Data Objects 2.5, Microsoft ActiveX Data Objects 2.7, Microsoft Data Access Components 2.5, Microsoft Data Access Components 2.6, Microsoft Data Access Components 2.7

  • kbmt kbdatabase kberrmsg kbprb KB175168 KbMtar
تعليقات
/html>mp;t=">sync=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" >&t=">