أسلوب OpenQuery إلى DB2 / AS400 من SQL Server 2000 الأقفال مما تسبب في

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

سؤال

وكل صباح لدينا عملية التي تصدر العديد من الاستفسارات (~ 10000) إلى DB2 على AS400 / الأجهزة الخادمة iSeries / I6 (أيا كان يدعو IBM أنه في الوقت الحاضر)، في الأشهر الأخيرة (2)، ومشغلي وقد يشكو هذا الاستعلام لدينا أقفال ل اثنين من الملفات يمنعهم من استكمال تجهيزها ليلا. الاستعلامات هي simplisitic جدا، منها مثلا

Select [FieldName] from OpenQuery('<LinkedServerName>', 'Select [FieldName] from [LibraryName].[FieldName] where [SomeField]=[SomeParameter]')

وأنا لست خبيرا في الجانب الأجهزة الخادمة iSeries من المنزل وأتساءل عما اذا كان كان أي شخص أي فكرة عن التصعيد قفل من منظور AS400 / DB2. وقد أكد ID الذي يسبب قفل ليكون ID سجلنا ملقم مرتبط لدينا كما ونعرف لها على الأرجح لنا لأن [مكتبة] و [اسم الملف] تتسق مع الاستعلام نحن المصدرة.

لقد بدأ هذا يحدث فقط في الآونة الأخيرة. هل من الممكن أن تصريحات مختارة لدينا والتي تتسبب في AS400 لتصعيد الأقفال؟ المشكلة لا يتم الإفراج عنهم دون تدخل يدوي.

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

المحلول

وحاول إضافة "FOR READ فقط" إلى الاستعلام ثم فإنه لن قفل السجلات كما كنت استردادها.

نصائح أخرى

ويكتب إلى الملفات الموجودة على الجانب AS / 400 من / كوبول برنامج العمل آر بي جي / JPL يؤدي إلى قفل ملف (افتراضيا على ما أظن). وهذه المهمة لن تكون قادرة على الحصول على هذا التأمين عند القراءة. الحل استخدمنا كان ... لا قراءة الملفات عند تشغيل وظيفة. أنشأنا ورقة الجدول الزمني كبيرة في التفوق ووضع جميع ملقمات SQL "وكما / وظائف 400 على ذلك في أوقات فتحات ث / الترميز اللوني لأهمية والخادم. بهذه الطريقة أي تعارض أو من استخراج تاريخ ملفات سواء.

قد يكون لديك تحكم الالتزام مما تسبب في قفل لللتكرار القراءة. تحقق من اتصال ملقم SQL ODBC المرتبطة <linkedServerName> لتغيير السيطرة الالتزام.

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