سؤال

أحاول الاتصال بقاعدة بيانات Oracle باستخدام nhibernate. يمكنني الاتصال باستخدام برنامج تشغيل .NET:

<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>

ومع ذلك ، أفضل استخدام oracledataclientdriver الذي يشحن مع Oracle (أو nhibernate؟ أنا أنسى). على أي حال كنت أستخدم تعليمات هذه المدونة:

http://tiredblogger.wordpress.com/2008/11/07/using-oracle-odp-with-nhibernate-from-ac-class-library/

كل شيء على ما يرام ولكن عندما أقوم بإضافة app.config مع الإعداد التالي إلى فئة اختبار الوحدة الخاصة بي:

<runtime>
       <assemblyBinding xmlns=“urn:schemas-microsoft-com:asm.v1“>
              <qualifyAssembly partialName=“Oracle.DataAccess“
                     fullName=“Oracle.DataAccess,
                            Version=2.111.6.20,
                           Culture=neutral,
                           PublicKeyToken=89b483f429c47342“ />
       </assemblyBinding>
</runtime>

ومحاولة إجراء الاختبار الخاص بي ، أحصل على الخطأ التالي:

Test 'M:UTOracleImporter.UT_SchemaDAO.Test_GetCustomer' failed: Could not load type 'TestDriven.Framework.Resident.IResidentTestRunner' from assembly 'TestDriven.Framework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=50ecb853f8c6b8d2'.
    System.TypeLoadException: Could not load type 'TestDriven.Framework.Resident.IResidentTestRunner' from assembly 'TestDriven.Framework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=50ecb853f8c6b8d2'.
    at TestDriven.TestRunner.AdaptorTestRunner.Run(ITestListener testListener, ITraceListener traceListener, String assemblyPath, String testPath)
    at TestDriven.TestRunner.ThreadTestRunner.Runner.Run()

اي نصيحه؟يحرر: لقد أضفت التجميعات التي تعتمد على الاختبار إلى GAC والآن أحصل على خطأ مختلف:

nhibernate.hibernateException: لا يمكن العثور على تنفيذ IDBCommand و IDBConnection في Assembly Oracle.DataAccess. تأكد من وجود Assembly Oracle.DataAccess في دليل التطبيق أو في ذاكرة التخزين المؤقت للتجميع العالمي. إذا كانت التجميع في GAC ، فاستخدم العنصر في ملف تكوين التطبيق لتحديد الاسم الكامل للتجميع.

وهو نفس الخطأ الذي كان يعني معالجته في app.config. تمت إضافة Oracle.DataAccess إلى GAC وقد جربته أيضًا في مجلد التطبيق. ومع ذلك ، لا يزال الخطأ يظهر.

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

المحلول

لا أرى أي إشارات إلى Oracle (أو nhibernate) في هذا الخطأ.

في أي حال ، أوصيك بالترقية إلى NH 3.0 alpha2. لم تعد هناك حاجة إلى أشياء التجميع.

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