O ODP.net possui diversos recursos mais interessantes do que o nativo do asp.net ( System.Data.Oracle ) com o ODP.net você pode implementar maneiras de rastrear qualquer operação de um usuário do sistema no banco de dados ( ClientID ), sem contar o fato de o ODP.net estar em pleno vapor sendo continuada pela Oracle.
Após instalar o ODP.net na adaptação de seu projeto pode haver um erro de Assembly conforme abaixo:
Error x
O assembly 'nomedoassembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
usa 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342',
que possui uma versão mais recente que o assembly 'Oracle.DataAccess, Version=1.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' usado como referência.
Este erro ocorre por algum conflito entre o Oracle.DataAccess registrado no Machine.config, para saber quais assemblys estão registrados, abra o console do visual studio e rode o seguinte comando:
gacutil /l | find /i "Oracle" > c:\oracle.txt
Com o comando find será gerado um arquivo .txt com o resultado do find, o resultado será algo assim:
Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
System.Data.OracleClient.resources, Version=2.0.0.0, Culture=pt-BR, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
Oracle.DataAccess, Version=1.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342
Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342
Policy.10.1.Oracle.DataAccess, Version=1.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342
Policy.10.1.Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342
Policy.10.2.Oracle.DataAccess, Version=1.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342
Policy.9.2.Oracle.DataAccess, Version=1.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342 Policy.9.2.Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342Desinstale então os assemblys da versão 1.0 com o seguinte comando:
gacutil /u "Oracle.DataAccess, Version=1.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342"
gacutil /u "Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342"Caso não tenha o Oracle.DataAccess da versão 2.0 registrada, você pode usar o comando abaixo para registrar a dll, lembrando que você deve verificar o caminho de instalação de seu Oracle ODP.net:
C:\>gacutil.exe -i "C:\oracle\product\10.2.0\client_2\ODP.NET\bin\2.x\Oracle.DataAccess.dll"
Cara, Parabéns pelo seu post! me ajudou muito!!!
ResponderExcluirAbraços...
Rs... obrigado !!! minha intenção realmente é ajudar... também tive muita dificuldade com a implantação do ODP.net no começo...
ResponderExcluirAbraços,
krinha veja se consegue me ajudar, consegui executar os procedimentos e funcionou para o console c# que fiz, porem quando acesso pelo webforms o erro persiste.
ResponderExcluir