سؤال

ما يمكن فعله لحل الاستثناء:

crystaldecisions.crystalreports.engine.internalexception: فشل في فتح صفوف.

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

المحلول

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

نصائح أخرى

كما قال هذا خطأ عام ، ومثل كل هذه الأخطاء ، فهو محبط للغاية. المشكلة هي أن VS 2003 ليس لديه خيار معاينة لتقارير Crystal ، لذا من الصعب تعقب مصدر المشكلة. لذا فإن أفضل طريقة لحل ذلك هي إنشاء مشروع فارغ في VS 2005 أو لاحقًا ، واستيراد تقرير Crystal ، و Run Preview. ستحصل على خطأ أكثر تحديدًا بعد ذلك.

واجهت نفس المشكلة ، وتلقيت رسالة الخطأ هذه:

لا يمكن العثور على المزيد من الحقول الخام في مجموعة النتائج. استخدم قاعدة البيانات لتحديث التقرير. خطأ في الملف اسم الملف {9fee6406-1613-409A-B9BD-C5FDA24E3DEE} .RPT:

لا يمكن العثور على عمود الصفوف.

كنت أستخدم إجراءً مخزنًا لجمع البيانات للتقرير ، وبالتأكيد كنت أقضي معلمة غير صالحة لـ SP. تحقق مزدوجًا من نوع وقيمة المعلمات إذا كنت تستخدم SP لإلغاء بيانات التقرير.

حظا طيبا وفقك الله!

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

يحدث هذا بسبب بعض التناقض في علاقاتك ، مثل المقابل الأيسر أو شيء مشابه. لدى CR أيضًا عادةً سيئة لإنشاء روابط "افتراضية" في كل مرة تقوم فيها بتعديل قائمة الجداول ووجهات النظر اللازمة للتقرير. يمكن حتى في بعض الأحيان إنشاء روابط متكررة قد لا يمكن عرضها "مرة واحدة" في شاشة العلاقات.

إذا لم تتمكن من العثور على العلاقات (العلاقات) التي تسبب المشكلة (في بعض الأحيان لا تكون واضحة جدًا) ، فسيتعين عليك إجراء بعض الاختبار التجريبي والأخطاء عن طريق إضافة/إزالة الجداول من تقريرك.

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

انا استلمت :

crystaldecisions.crystalreports.engine.InternalException كان رسالة غير معطلة = خادم تطبيق التقرير

جذبني جوجل إلى هنا. لأولئك الذين لديهم مشاكل مماثلة.

للسجل: كان لدي مجموعة بايت [] مع صورة وأزلت السجل من التقرير وتوقف الخطأ. لا بد لي الآن من معرفة الخطأ الذي ارتكبته في الشعار.

واجهت هذه المشكلة - نستخدم تسجيلات تسجيلات SQL لأمننا (غير متكاملة / اتصالات DSN)

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

في الحقيقة ، لا يمكن أن تكره Crystal أكثر لإخفاء استثناءهم - فليكن هذا درسًا لجميع المبرمجين ؛

Try
   'your code here
Catch
   Throw new exception("Hey, here's a really friendly but completely useless error message")
End Try

سيؤدي إلى ألم للمطورين في المستقبل - لا تفعل ذلك!

عندما تتحقق من قاعدة البيانات الخاصة بك ، قد تخبرك أنه محدث ، في هذه الحالة ، لديك خياران آخران للتحقق من:

أ) تحديث التقرير (أيقونة على شكل البرق) ، إذا كان لديك مشكلة في حقل ، مثل حقل SQL ، فسوف يعطيك الخطأ ثم يظهر لك نافذة التحرير للحقل.

ب) تشغيل الاستعلام مباشرة على SQL ، إذا كانت هناك مشكلة في الاستعلام نفسه ، فستحصل أيضًا على هذه الرسالة في Crystal لكن SQL ستخبرك بالضبط بما حدث خطأ.

يفحص تغيير معلومات تسجيل دخول قاعدة بيانات Crystal Report في وقت التشغيل في VS2005 للمساعدة.

خط مهم فيه هو:

table.Location = Database & ".dbo." & table.Name

بالنسبة لي ، تم إصلاح المشكلة عندما قمت بتسجيل وتسجيل الدخول إلى خادم SQL الذي كان يتصل به التقرير

في إجراء متجرك إذا كنت تستخدم

SET NOCOUNT ON;

ثم فقط قم بإزالة هذا

--SET NOCOUNT ON;

تحقق الآن من قاعدة بيانات التقرير الخاصة بك ، وإنشاء وتشغيل الحل الخاص بك.

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