Como instalar o ODP.NET 2.111 e o ODP.NET 4.112 na mesma máquina, lado a lado, enquanto ambos apontam para o mesmo servidor de banco de dados

A questão é como instalar o ODP.NET 2.111 e o ODP.NET 4.112 na mesma máquina, lado a lado, enquanto ambos apontam para o mesmo servidor de banco de dados usando tnsnames.ora

Eu preciso suportar um sistema legado baseado no Oracle 11.1.0. O sistema está usando o ODP.NET 2.111 para se conectar ao oracle. Existem dois clientes instalados em:

C: \ oracle \ product \ 11.1.0 \ client_1

C: \ oracle \ product \ 11.1.0 \ client_2

O tnsnames.ora para ambos é algo como isto:

xxxx1_SERVICE=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxxx2)(PORT = xxx3))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = xxx4)
    )
  )

yyyy1_SERVICE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yyyy2 )(PORT = yyyy3))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = yyyy4)
    )
  )

kkkk1_SERVICE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = kkkkk2 )(PORT = kkkk3))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = kkk4)
    )
  )

pppp1_SERVICE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ppppp2 )(PORT = pppp3))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = pppp4)
    )
  )

oooo1_SERVICE = (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ooooo2 )(PORT = oooo3))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oooo4)
    )
  )

O sistema está funcionando usando as configurações acima. Eu preciso desenvolver um novo sistema baseado em EntityFramework que requer que eu use uma versão mais recente do Oracle.DataAccess.Dll (4.112).

Eu queria saber como eu poderia instalar o novo cliente sem prejudicar a funcionalidade do sistema legado para que ambos possam trabalhar lado a lado:

Nota: Eu tentei instalar o novo ODP.NET sobre o cliente anterior e consegui me conectar ao banco de dados usando a seguinte string de conexão:

FONTE DE DADOS = (DESCRIÇÃO = (ADDRESS_LIST = (ENDEREÇO ​​= (PROTOCOL = TCP) (HOST = zzzzz1) (PORTA = zzzzz2))) (CONNECT_DATA = (SERVICE_NAME = zzz3_SERVICE))); ID do usuário = \ "zzzz4 \"; Senha = \ "zzzz5 \";

Isso não é desejável porque 1- Ele quebra o sistema legado porque ele não pode mais se conectar ao Oracle devido à atualização no ODP.NET 2- A string de conexão é muito estranha

Eu apreciaria qualquer ajuda,

Obrigado, Aidin

questionAnswers(1)

yourAnswerToTheQuestion