ظهور رسالة خطأ عند طلب الصفحة ASP الذي يتصل بقاعدة بيانات Access في IIS 7.0: "مشغل قاعدة بيانات Microsoft JET خطأ' 80004005 '"

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

الأعراض

اطلع على السيناريو التالي. على ملقم ويب الذي يقوم بتشغيل Microsoft إنترنت خدمات معلومات (IIS) 7.0، يمكنك استضافة صفحة ملقم نشطة (ASP) يتصل بقاعدة بيانات. موفر بيانات الصفحة ASP هو موفر البيانات Microsoft.Jet.OLEDB.4.0. مصدر بيانات الصفحة ASP ملف Microsoft Access قاعدة بيانات (mdb.). في هذا السيناريو، قد تظهر رسالة الخطأ التالية عند طلب الصفحة ASP:
مشغل قاعدة بيانات Microsoft JET الخطأ '80004005'

خطأ غير محدد
ملاحظة: وسوف تواجه رسالة خطأ مشابهة عند استخدام كل مما يلي:
  • قاعدة بيانات Microsoft Access تنسيق ملف Access 2007 (accdb.)
  • موفر البيانات Microsoft.ACE.OLEDB.12.0

السبب

قد تحدث هذه المشكلة إذا تم تكوين IIS 7.0 لتحميل التشكيل الجانبي للمستخدم الحالي هوية تجمع تطبيق. قد يتسبب هذا مشاكل التوافق مع التطبيقات المستندة إلى ADO والتطبيقات المستندة إلى ASP القديمة لأنه قد ليس لدى المستخدم الحالي أذونات كافية للكتابة إلى الدليل المؤقت.

الحل

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

Windows Server 2008 و Windows Vista مع SP1 أو الإصدارات الأحدث

لحل هذه المشكلة على ملقم ويب IIS 7.0 الذي يعمل على Windows Server 2008 أو Windows Vista مع SP1 أو الإصدارات الأحدث، اتبع الخطوات التالية:
  1. انقر فوق ابدأثم انقر فوق كافة البرامج، انقر فوق الملحقات، انقر بزر الماوس الأيمن فوق موجه الأوامروانقر فوق تشغيل كمسؤول.
  2. عندما تتم مطالبتك بكلمة مرور مسؤول أو تأكيدها، اكتب كلمة المرور أو انقر فوق متابعة.
  3. اكتب الأمر التالي، ومن ثم اضغط ENTER:
    /منح %SystemDrive%\Windows\Temp icacls Users:(CI)(S,WD,AD,X)

    ملاحظة: يتيح هذا الأمر كل مستخدم لإنشاء الملفات والدلائل في الدليل المؤقت.
  4. اكتب الأمر التالي، ومن ثم اضغط ENTER:
    %SystemDrive%\Windows\Temp icacls/منح "منشئ OWNER":(OI)(CI)(IO)(F)

    ملاحظة: المستخدم الذي قام بإنشاء ملف أو دليل في الدليل المؤقت هو CREATOR OWNER. إدخال التحكم بالوصول CREATOR OWNER منح تحكم كامل مستخدم خلال الملف أو الدليل. لا يمكن الوصول إلى المستخدمين الآخرين هذه الملفات والدلائل لأنها ليست هي "مالك منشئ".
الموائد المستديرة ويندوز فيستا

لحل هذه المشكلة على ملقم ويب IIS 7.0 الذي يعمل على Windows Vista RTM، اتبع الخطوات التالية:
ملاحظة: بشكل افتراضي في Windows Vista RTM، هوية العملية NetworkService، وهو الدليل المؤقت % windir%\ServiceProfiles\NetworkService\AppData\Local\Temp.
  1. انقر فوق ابدأثم انقر فوق كافة البرامج، انقر فوق الملحقات، انقر بزر الماوس الأيمن فوق موجه الأوامروانقر فوق تشغيل كمسؤول.
  2. عندما تتم مطالبتك بكلمة مرور مسؤول أو تأكيدها، اكتب كلمة المرور أو انقر فوق متابعة.
  3. اكتب الأمر التالي، ومن ثم اضغط ENTER:
    /منح %windir%\serviceprofiles\networkservice\AppData\Local\Temp icacls Users:(CI)(S,WD,AD,X)

    ملاحظة: يتيح هذا الأمر كل مستخدم لإنشاء الملفات والدلائل في الدليل المؤقت.
  4. اكتب الأمر التالي، ومن ثم اضغط ENTER:
    %windir%\serviceprofiles\networkservice\AppData\Local\Temp icacls/منح "منشئ OWNER":(OI)(CI)(IO)(F)

    ملاحظة: المستخدم الذي قام بإنشاء ملف أو دليل في الدليل المؤقت هو CREATOR OWNER. إدخال التحكم بالوصول CREATOR OWNER منح المستخدمين تحكم كامل الملف أو الدليل. لا يمكن الوصول إلى المستخدمين الآخرين هذه الملفات والدلائل لأنها ليست هي "مالك منشئ".

الحل البديل

لحل هذه المشكلة، استخدم الطريقة الموضحة في قسم "حل المشكلة". ومع ذلك، إذا أردت عدم إضافة إدخالات التحكم بالوصول إلى الدليل المؤقت لهوية العملية، يمكنك حل المشكلة عن طريق تعطيل خاصية loadUserProfile لتجمع التطبيقات. عند تعطيل هذه الخاصية، IIS 7.0 تحميل التشكيل الجانبي للمستخدم الحالي لتجمع التطبيقات.

هام: إذا تم تعطيل هذه الخاصية، قد يتم إنشاء مخاطرة أمنية. تأكد من أنك تفهم وتقييم المخاطر قبل تطبيق هذا الحل.

لتعطيل خاصية loadUserProfile لتجمع التطبيقات، قم بتعديل الملف ApplicationHost.config. يوضح المثال التالي كيفية القيام بذلك.
<applicationPoolDefaults>    <processModel identityType="NetworkService" loadUserProfile="false" />
</applicationPoolDefaults>

المراجع

لمزيد من المعلومات حول المؤقتة أذونات الدليل عند تشغيل استعلام قاعدة بيانات في صفحة ASP، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

315456 تتلقى رسالة خطأ في نتائج قاعدة بيانات عند الاتصال بقاعدة البيانات من صفحة ASP في FrontPage

استخدام ASP الكلاسيكية مع قواعد بيانات Microsoft Access على IIS 7.0 و IIS 7.5

http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/
خصائص

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

تعليقات