Связь Nhibernate в Oracle
-
01-10-2019 - |
Вопрос
Я пытаюсь подключиться к базе данных Oracle, используя Nibernate. Я могу подключиться с помощью драйвера .NET:
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
Однако я бы предпочел использовать OracledataclientDriver, которая отправляется с Oracle (или Nibernate? Я забыл). В любом случае, я использовал инструкции этого блога:
http://tiredblogger.wordpress.com/2008/11/07/using-orcle-odp-with-nibernate-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 в Ассамблее Oracle.dataAccess не может быть найдена. Убедитесь, что сборка Oracle.dataAccess находится в каталоге приложения или в кэш глобальной сборки. Если сборка находится в GAC, используйте элемент в файле конфигурации приложения, чтобы указать полное имя сборки.
Какая та же ошибка о том, что она предназначена для адресата в App.config. Oracle.dataAccess был добавлен в GAC, и я также пробовал в папке приложения. Тем не менее, ошибка все еще появляется.
Решение
Я не вижу никаких ссылок на Oracle (или Nibernate) в этой ошибке.
В любом случае, я рекомендую вам обновить до NH 3.0 alpha2. Вещи автосалон больше не нужны.