У меня есть большой проект, который скрывает еще один проект 16 (тесты, веб-приложения & Приложения, такие как ядро, электронная почта и т. Д.). Я использую C# MVC4 для моего основного проекта веб-сайта. Если я использовать не Managed Client нужно мне сделать папку проекта /бен записана библиотекой Oracle.DataAccess.dll и все работает отлично (я должен установить (изменить) в Web.config -> пары:C# NHibernate & Oracle Managed Client
<connectionStrings>
<add name="PC13" connectionString="User Id=TEST; Password=TEST; Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=DBTEST)(PORT=1521))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = DBTEST)));" />
</connectionStrings>
И соединение DB работает нормально без исключения ORA TNS_NAME). Я должен установить источник данных в полный путь с помощью tnsnames.ora, когда я использую только псевдоним типа TEST, я получаю сообщение «Исключение: ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения», но если я задаю полный код tns для псевдонима -> все отлично работает.
Я использую hibernate.cfg.xml файл:
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="command_timeout">60</property>
<property name="cache.provider_class">NHibernate.Caches.SysCache2.SysCacheProvider, NHibernate.Caches.SysCache2</property>
<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache">true</property>
<property name="cache.default_expiration">120</property>
</session-factory>
Мои Web.config файл (для управляемого клиента добавить oracle.manageddataaccess.client часть):
<connectionStrings>
<add name="PC13" connectionString="User Id=TEST; Password=TEST; Data Source=DBTEST;" />
</connectionStrings>
<oracle.manageddataaccess.client>
<version number="*">
<dataSources>
<dataSource alias="DBTEST" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=DBTEST)(PORT=1521))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = DBTEST)))"/>
</dataSources>
</version>
</oracle.manageddataaccess.client>
У меня выделенный сервер БД & I программирование на Visual Studio 201 0 SP1 32bit (Win 7 64b). Я установил клиент Oracle 11g (32 & 64b). Файл hibernate.cfg.xml используется в другом 3-х проектах в пакете типа «IntegrationTest», «Core» и т. Д .:. Я запускаю программу (F5) с режимом Debug и платформой x86.
В проекте я использую:.
- NHibernate v 3.3.1.4000
- StructureMap V 2.6.4..
- и другие незначительные пакеты
Что я должен установить пакет и как его настроить? Пытаюсь добавить ссылку с NuGet
- Официальный Oracle ODP.NET, управляемый Driver 12.1.22
- Поставщик данных Oracle для .NET (ODP ... 121.1.2
Когда я устанавливаю некоторые из этих пакетов (добавить ссылки из NuGet) в мой проект веб-сайта и я изменить hibernate.cfg.xml на:
<property name="connection.driver_class">NHibernate.Driver.OracleManagedDriver</property>
Я получил сообщение от VS Exception "Не удалось создать драйвер с NHibernate.Driver.OracleManagedDriver"
Если я иду к View -> Сервер Exploler -> к данных Cennection и я поставил Add Connection. , , (см. Ссылку -> Руководство Easy Drive to .NET). Я не получаю только управляемый параметр ODP.NET.NET Framework Поставщик данных для опции Oracle, и когда я пытаюсь соединение я получаю сообщение «BadImageFormatException. Это будет происходить при работе в 64-битном режиме с 32 битными клиента Oracle установленных компонентов»
Мой вопрос является
- Что я могу использовать для справки (драйвера)?
- Как его установить?
Большое спасибо
OracleManagedDriver был добавлен в NHibernate 4.0. Его нет в 3,4 и предыдущих. – jahav
Я обновляюсь до NHibernate 4.0.4., Но у меня все еще появилось сообщение «Не удалось создать драйвер из NHibernate.Driver.OracleManagedDriver» и в View -> Server Exploler -> для подключения к данным и установить «Добавить соединение». , , Я не вижу ODP.NET управляемого Oracle Client Option, как я могу найти имя ** connection.driver_class ** из файла nhibernate.cfg.xml, я попробую несколько нескольких наборов, таких как NHibernateOracleExample.Driver.OracleDriver, NHibernateOracleExample или NHibernate.Driver .OracleDataClientDriver, но я не знаю, что является правильным именем для этого значения настройки –