MS-SQL/Coldfusion: خطأ في قاعدة البيانات الغامضة: تم إغلاق الكائن

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

سؤال

أنا أستخدم ColdFusion مع Microsoft SQL Server 2005 وفي بعض الأحيان أحصل على هذا الخطأ:

[Macromedia] [sqlserver jdbc driver] تم إغلاق كائن."

يؤدي Traceback دائمًا إلى استعلام SQL كما يتوقع المرء ، حتى أوامر Select Simple التي بدون أي صلة أو معلمات إدخال أو أي شيء يتوهم على الإطلاق.

الحل الوحيد الذي سمعت عنه حتى الآن هو إعادة تشغيل "الخدمة" ، والتي لا يمكنني إلا أن أتخيلها تشير إلى خدمة SQL Server. لقد حاولت إعادة تشغيل كل من SQL Server وخدمة ColdFusion ، لكنها لا تزال تحدث في أوقات عشوائية.

(أيضًا إعادة التشغيل ليس حلاً. لا يمكن للمرء أن يكون لديه صفحات تعسفية تعطي رسائل خطأ تعسفي في أوقات تعسفية في بيئة الإنتاج.)

عندما يحدث ذلك ، يحدث باستمرار لبضع دقائق ، ثم يذهب بعيدًا وقد يعود في بضع ثوان أو دقائق. بدأ يحدث ذلك عندما كنت أقوم بتطوير جزء من طلبي من طلبي والذي لا ينبغي أن يكون له أي علاقة برمز Coldfusion أو أوامر SQL.

كانت عمليات البحث الخاصة بي على الإنترنت غير مثمرة حتى الآن.

أي مساعدة موضع تقدير.

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

المحلول 6

تبين أن هذا يحدث ببساطة عندما يتم تحميل الخادم. يبدو أنه لا يوجد علاج آخر غير إعادة تشغيل و/أو إزالة الحمل من الخادم.

شكرا كل من أجاب ، على أي حال!

نصائح أخرى

هذا قديم ، لكنني واجهت هذا ووجدت طريقة للقيام بذلك دون إعادة تشغيل CF.

في مسؤول Coldfusion ، انتقل إلى مصادر البيانات الخاصة بك وتحرير المصادر التي تسبب مشكلتك. قم بإجراء تغيير فيه ، مثل التحقق من مربع غير مهم ، وتقديم.

سيؤدي ذلك إلى إعادة تكوين الاتصال والسماح له بالعمل. ارجع إلى الابتعاد وألاحظ الصندوق (إذا كنت لا تريد حقًا وضع علامة).

فمثلا. قمت بإيقاف تشغيل "تمكين أحرف ASCII عالية ...". ثم عدت إلى الوراء وفحصها مرة أخرى وأرسل التغييرات مرة أخرى.

لا إعادة التشغيل! مثالي إذا كان هذا صندوق إنتاج.

واجهنا هذه المشكلة مع CF9 وإعادة تشغيل الخدمة لم تساعد. قمنا بحذف وإعادة إنشاء DSN المخالفة في تكوين CF ، وقد حل هذا المشكلة. لذلك إذا لم تنجح الحلول الأخرى ، فحاول تجربة.

غريزة الأمعاء الخاصة بي هي أنك ستحتاج إلى البحث خارج الكود والعمل مع DBA للتحقيق في استقرار خادم قاعدة البيانات نفسه. يبدو أن خدمة SQL Server معلقة أو تصبح غير مستجيبة.

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

إذا كنت تستخدم السائقين الذين يشحنون مع Coldfusion ، فهذا هو إطلاقا يستحق الترقية.

http://www.microsoft.com/downloads/en/details.aspx؟familyid=A737000d-68d0-4531-b65d-da0f2a735707&displaylang=en

كن على دراية أنه إذا قمت بالترقية ، إذا كان لديك إدراج بيانات تستخدم SCOPE_IDINCENTITY () لإرجاع معرف الصف الذي تم إدراجه حديثًا ، فستحتاج إلى تعيين NOCOUNT ON ؛ في الجزء العلوي من كل عبارة إدراج لمنع SQL Server من إرجاع عدد الصفوف التي تم إدخالها بدلاً من معرف الصف المدرج.

دان

كان هناك خطأ في SQL 2K وأعتقد أن 2K5 ، بحيث يعتقد النظام أنه كان في وضع الإغلاق ، على الرغم من عدم مطالبتها أبدًا بإغلاق الخدمة. IIRC ، ألقى خطأ مشابه لك. كان هناك تصحيح لهذا الصدر MS الخاص بي ، على الرغم من أنني يبدو أنني أتذكر أنه كان تنزيلًا منفصلاً بدلاً من جزء من MS Update.

آسف لكونك غامضة للغاية ، لكنه مر بعض الوقت منذ أن تعاملت مع هذه المشكلة. آمل أن يساعدك هذا في البدء ، رغم ذلك.

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