Как я могу разработать с использованием ODAC 12 для EF, не мешая старым версиям Oracle?

Я занимаюсь разработкой с VS 2013 (vb.net) и использую ODAC12 с ODP.NET, но у пользователя есть приложение, которое работает с oracle 9, поэтому при установке ODAC12 на его ПК это приложение не работает.

Я настроил app.config со строкой подключения

  <connectionStrings>
    <add name="Entities" connectionString="metadata=res://*/ModeloRC.csdl|res://*/ModeloRC.ssdl|res://*/ModeloRC.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string=&quot;data source=TNS;password=**;user id=**&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

во всяком случае, я не могу использовать ODAC11 для разработки, я пытался, но я не могу сделать мою модель данных сущности *.edmx с 2013

как я могу использовать ODAC12 без вмешательства других приложений с оракулом 9

1 ответ

Существует концепция "Oracle Home" (каталог), согласно которой программное обеспечение в каждом Oracle Home не должно мешать друг другу. Поэтому я бы начал с установки клиента, в котором нуждается ваш пользователь, а затем также установил нужную версию ODAC в новый каталог Oracle Home (каталог).

Вам также следует удалить библиотеки DLL политики из GAC, если вы не хотите, чтобы приложения.NET, созданные с использованием более старой версии ODP.NET, автоматически использовали новую.

Для более сложных сценариев при использовании нескольких версий ODP.NET см. Документацию ODP.NET для настройки параметра DLLPath.

Кроме того, изучите возможность использования установки XCopy, которая позволит встроить ODP.NET в ваше приложение. И, конечно, ODP.NET, управляемый драйвер удаляет все "DLL Hell".:)

Другие вопросы по тегам