لجنة التنسيق الإدارية: كيفية تعيين قيمة QueryTimeout لاتصالات ODBC

ملخص

هام: تتضمن هذه المقالة معلومات حول كيفية تحرير التسجيل. قبل تحرير التسجيل، يجب أولاً عمل نسخة احتياطية من ملفات التسجيل (System.dat و User.dat). وكلاهما الملفات المخفية في مجلد Windows.


خيارات متقدمة: يتطلب ترميز الخبير إمكانية التشغيل المتداخل ومهارات متعددة.


توضح هذه المقالة كيفية تعيين الخاصية QueryTimeout لاستعلامات التشغيل مقابل مصادر بيانات ODBC.

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

عند استخدام قاعدة بيانات ODBC، مثل Microsoft SQL Server، قد يكون هناك تأخيرات بسبب استخدام نقل البيانات أو الثقيلة شبكة ملقم ODBC. بدلاً من الانتظار إلى ما لا نهاية، فيمكنك تحديد فترة الانتظار قبل مشغل قاعدة بيانات Microsoft Jet ينتج خطأ. إعداد الخاصية QueryTimeout الافتراضية 60 ثانية. هذا الإعداد قد لا تكون طويلة بما يكفي للسماح ببعض الاستعلامات بتشغيل على مصادر بيانات ODBC. الطريقتين التالية توضح كيفية تغيير خاصية QueryTimeout.


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


ملاحظة: عند استخدام الخطوات الموجودة في "الطريقة الثانية" لتعيين قيمة QueryTimeout داخل قلم المحكمة، سيتم متابعة أي استعلام الجديدة والموجودة في Microsoft Access لعرض قيمة ال 60 للخاصية QueryTimeout. إذا كانت القيمة المعينة في التسجيل أكبر من قيمة المعرفة ضمن استعلام فردي، استخدم Microsoft Access القيمة داخل قلم المحكمة لتحديد مدة الانتظار قبل حدوث QueryTimeout.

الطريقة الأولى

إنشاء روتين فرعي لتعيين الخاصية.


إنشاء وتشغيل روتين التالية عند فتح قاعدة البيانات:

   Sub SetTimeout()      Dim Mydb as Database
Set Mydb=CurrentDB
MYdb.QueryTimeout=120
End Sub


بمجرد تعيين هذه الخاصية، تتجاوز أي القيمة الافتراضية أو إعدادات "تسجيل Windows".


ملاحظة: إذا واجهتك أية مشاكل في خاصية QueryTimeout، قد تحتاج إلى الترقية إلى الإصدار الأحدث من مشغل قاعدة بيانات Microsoft Jet للإصدار الخاص بك من Microsoft Access. وحتى ذلك الحين، إذا كنت تواجه مشاكل مع CurrentDB.QueryTimeout، يمكنك أيضا محاولة استخدام DBEngine (0)(0). ومع ذلك، فمن المستحسن أن يكون لديك الإصدار الحالي من مشغل قاعدة بيانات Microsoft Jet.


لمزيد من المعلومات حول كيفية الحصول على Microsoft Jet 3.51، الرجاء مراجعة المقالة التالية في "قاعدة المعارف ل Microsoft":


172733 ACC97: تحديث الإصدار Microsoft Jet 3.5 متوفرة للتنزيل

مثال على استخدام DBEngine


  Sub mytest()     Dim mydb As Database
Set mydb = DBEngine(0)(0)
mydb.QueryTimeout = 120
MsgBox mydb.QueryTimeout
End Sub


الطريقة الثانية

تعيين الخاصية في التسجيل.


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


لمزيد من المعلومات حول كيفية تحرير التسجيل، عرض موضوع التعليمات عبر الإنترنت "تغيير المفاتيح والقيم" في محرر التسجيل (Regedit.exe). لاحظ أنه يجب إجراء نسخة احتياطية من ملفات التسجيل (System.dat و User.dat) قبل تحرير التسجيل.

باستخدام Microsoft Access 97


  1. انتقل إلى مفتاح التسجيل التالي:

         HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\Engines\ODBC

  2. تحديد QueryTimeout وانقر تحرير وقم بتعديل. تغيير قيمة DWORD للإعداد المرغوب. القيمة تمثل عدد الثواني للمهلة.

استخدام الإصدار 7.0 من Microsoft Access


  1. إنشاء مفتاح التسجيل التالي:

        HKEY_LOCAL_MACHINE\Software\Microsoft\Access\7.0\Jet\3.0\Engines\ODBC

  2. انقر فوق تعديل، ومن ثم حدد قيمة DWORD. إضافة QueryTimeout وتعيين المهلة إلى قيمة عدد صحيح. هذه القيمة تمثل عدد الثواني للمهلة.
ملاحظة: إذا تم إجراء هذا التغيير في التسجيل بينما تم تشغيل Microsoft Access، يمكنك يجب أولاً إغلاق، ثم إعادة فتح Microsoft Access قبل أن يتم التعرف على التغيير.

المراجع

لمزيد من المعلومات حول النسخ الاحتياطي لنظام التسجيل، الرجاء مراجعة المقالة التالية في "قاعدة المعارف ل Microsoft":


135120 تكوين أداة النسخ الاحتياطي للنسخ الاحتياطي للسجل


خصائص

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

تعليقات