Microsoft JET SQL الاستعلام عن التسجيل أو "كيف يمكنني تصحيح العملاء بلدي؟"

StackOverflow https://stackoverflow.com/questions/153053

سؤال

المشكلة:

نحن نستخدم برنامج مكتوب من قبل لدينا أكبر العملاء لتلقي أوامر الكتاب tranports و ترتيب الاشياء ذات الصلة.ليس لدينا أي فرصة أخرى ولكن استخدام البرنامج العميل داعمة جدا عندما يتعلق الأمر إلى مشاكل مع البرنامج.علينا فقط أن يعيش مع البرنامج.

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

بعض النقاط عن البرنامج اكتشفت حتى الآن:

  • إنه مكتوب في VB 6.0
  • فإنه يستخدم كلمة السر المحمية الوصول-DB (MDB Access 2000) الذي يقع في مجلد واحد المستخدم آلة.
  • هذا هو مجلد مشترك على شبكة الاتصال المستخدمة من قبل جميع المستخدمين الآخرين.
  • ويستخدم msjet40.dll الإصدار 4.00.9704 للتواصل مع الوصول.أعتقد أنه من اللغط ؟

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

تتبع مراقبة العملية http://img217.imageshack.us/img217/1456/screenshothw5.png

السؤال الحقيقي:

هل هناك أي طريقة لرصد الاستفسارات التي هي المسؤولة عن قراءة النشاط ؟ هل هناك أثر العلم يمكن أن أحدد ؟ تركيب طائرة DLL ؟ أعتقد أن هذا البرنامج هو القيام مكلفة بعض الاستفسارات التي تسبب طائرة إلى قراءة الكثير من البيانات في هذه العملية.

PS:لقد حاولت أن أضع mdb على الشركة ملقم الملفات مع الوصول إلى النجاح الذي كان أبطأ حتى من خلال الأسهم المحلية.كما أنني حاولت تغيير آليات تأمين (الحصري) على العميل مع أي نجاح.

أريد أن أعرف ماذا يجري وتحتاج إلى بعض الحقائق الثابتة واقتراحات عملائنا المطور لمساعدته/مساعدتها جعل البرنامج بشكل أسرع.

هل كانت مفيدة؟

المحلول

الحصول على الخاص بك ضيع على أيدي بالضبط ما الوصول يفعل الاستعلام الحكمة من وراء الكواليس هناك لا يحملون وثائق ميزة تسمى JETSHOWPLAN - عند تشغيله في التسجيل أنه يخلق showplan.out نص الملف.التفاصيل في هذا TechRepublic المادة البديل, وأوجز هنا:

على ShowPlan الخيار تضاف إلى Jet 3.0 و ينتج ملف نصي الذي يحتوي على الاستعلام خطة.(ShowPlan لا يدعم الاستعلامات الفرعية.) يجب تمكين هذا عن طريق إضافة التصحيح مفتاح التسجيل كما يلي:

\\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\JET\4.0\Engines\Debug

تحت التصحيح الرئيسية ، إضافة إلى نوع بيانات string اسمه JETSHOWPLAN (يجب استخدام كافة الأحرف الكبيرة).ثم إضافة قيمة مفتاح ON إلى تمكين الميزة.إذا تم تشغيل في الخلفية ، يجب أن إطلاق ذلك على وظيفة للعمل.

عندما ShowPlan تمكين طائرة بإنشاء ملف نصي اسمه SHOWPLAN.OUT (والذي قد ينتهي في My Documents أو في المجلد الحالي المجلد الافتراضي ، اعتمادا على إصدار من Jet كنت تستخدم) كل مرة جيت يجمع استعلام.يمكنك بعد ذلك عرض هذا النص ملف عن أدلة كيف جت تشغيل الاستعلامات الخاصة بك.

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

من أجل تعقب كابوس المشاكل انها لا تقبل المنافسة - انها نوع من الشيء تحصل على بك الكبير مكلفة الصناعية قواعد البيانات - هذه الميزة رائعة - جميل ورقيق - إنه صديقي... ;-)

نصائح أخرى

يمكنك رمي علبة الشم (مثل Wireshark) على الشبكة ومشاهدة حركة المرور بين المستخدم و الجهاز المضيف?

إذا كان يستخدم اتصال ODBC يمكنك تمكين تسجيل ذلك.

  1. تبدأ مسؤول مصادر بيانات ODBC.
  2. حدد علامة التبويب "التتبع"
  3. حدد بدء تتبع الآن زر.
  4. حدد تطبيق أو موافق.
  5. تشغيل التطبيق لحظة.
  6. العودة إلى "مسؤول ODBC".
  7. حدد علامة التبويب "التتبع".
  8. حدد إيقاف التتبع الآن زر.
  9. التتبع يمكن عرضها في الموقع الذي كنت في البداية المحددة في مسار ملف سجل مربع.

السؤال الأول:هل لديك نسخة من MS Access 2000 أو أفضل ؟

إذا كان الأمر كذلك:عندما تقول MDB "كلمة السر المحمية", هل يعني أنه عند محاولة فتحه باستخدام MS Access يمكنك الحصول على مطالبة كلمة المرور فقط ، أو هو يطالبك اسم المستخدم وكلمة المرور ؟ (أو تعطيك رسالة خطأ تقول "ليس لديك الأذونات اللازمة لاستخدام فو.mdb كائن."?)

إذا كان هذا الأخير, (الأمان على مستوى المستخدم) ، ابحث عن المقابلة .MDW أن يسير جنبا إلى جنب مع MDB.إذا كنت تجد أن هذا هو "ملف معلومات مجموعة العمل" التي تستخدم "مفتاح" فتح MDB.محاولة جعل اختصار على سطح المكتب مع الهدف مثل:

"Path to MSACCESS.EXE" "Path To foo.mdb" /wrkgrp "Path to foo.mdw"

MS Access ثم يطالبك اسم المستخدم وكلمة المرور وهي (أمل) نفس ما VB6 التطبيق يطلب منك.وهذا من شأنه على الأقل تسمح لك لفتح ملف MDB و نظرة على بنية الجدول لمعرفة ما إذا كان هناك أي واضح عيوب في التصميم.

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

لم يكن ممكنا من دون مساعدة من المطورين.آسف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top