Como você implanta e configura o ODP.NET para funcionar sem instalação com o Entity Framework?
A. Como implantar e configurar o Oracle.DataAccess.Client?
B. Como implantar e configurar o Oracle.ManagedDataAccess.Client?
C. O que você precisa fazer para tornar as compilações com EDMXs com o Oracle SSDLs funcionando?
D. O que você precisa instalar para suporte ao designer?
Esta resposta resume (espero) todas as etapas necessárias, muitas das quais documentadas em vários lugares on-line e podem economizar horas de pesquisa no Google.
A. Como implantar e configurar o Oracle.DataAccess.Client.
A.1. Baixe ODAC112030Xcopy_64bit.zip ou ODAC112030Xcopy_32bit.zip .
A.1.1. Extraia o conteúdo das seguintes pastas dentro do arquivo zip para a pasta bin / setup do aplicativo / host:
A.1.1.1. instantclient_11_2
A.1.1.2. odp.net4 \ bin \
A.1.1.3. odp.net4 \ odp.net \ bin \
A.1.1.4. odp.net4 \ odp.net \ PublisherPolicy \ 4 \
A.2. Adicione a seguinte seção ao início do app.config / web.config do seu aplicativo / host (se você já tiver um elemento configSections, adicione a seção a ele:
A.3. Adicione as seguintes seções ao final do app.config / web.config do seu aplicativo / host:
A.4. Da pasta ODAC112030Xcopy’s Executar:
configure.bat odp.net4 somename
Eu recomendo usar oraclehome112030_32 ou oraclehome112030_64 como o “somename” acima.
B. Como implantar e configurar o Oracle.ManagedDataAccess.Client.
B.1. Faça o download do ODP.NET_Managed_1120350_Beta.zip
B.1.1. Extraia os seguintes arquivos na pasta bin / setup do seu aplicativo / host.
B.1.1.1. Oracle.ManagedDataAccess.dll
B.1.1.2. x64 \ Oracle.ManagedDataAccessDTC.dll ou x86 \ Oracle.ManagedDataAccessDTC.dll
B.2. Adicione a seguinte seção ao início do app.config / web.config do seu aplicativo / host (se você já tiver um elemento configSections, adicione a seção a ele:
B.3. Adicione as seguintes seções ao final do app.config / web.config do seu aplicativo / host:
C. Para a construção:
C.1. Adicione esta seção ao app.config do seu conjunto EDMX:
(Não tentei isso com o Oracle. Gerenciado DataAccess.Client ainda)
C.2. Adicione um arquivo chamado Oracle.xsd ao mesmo assembly com o conteúdo:
C.3. Adicione o XSD acima à lista de esquemas do app.config acima.
C.4. Se você estiver recebendo erros para mapeamentos booleanos durante a compilation, mesmo que a compilation esteja sendo bem-sucedida, adicione os mapeamentos app.config ao devenv.exe.config do Visual Studio.
C.5. Se você quiser usar Oracle.ManagedDataAccess.Client, edite o atributo data provider no EDMX manualmente antes de construir (não tentei isso) ou edite-o antes da criação do Context em tempo de execução e carregue o MSSL da cópia editada em vez de recurso (isso parece funcionar e eu também uso um truque semelhante para escolher qual MSSL carregar para provedores DB diferentes).
D. Para suporte ao designer:
D.1. Faça o download de win64_11gR2_client.zip ou win32_11gR2_client.zip e instale.
D.1.1. Selecione “Administrador” como tipo de instalação.
D.2. baixar ODT e instalar.
Eu tentei isso (A e B) em uma máquina em branco (VM) com o Windows 7 x64.
Este procedimento parece não funcionar com a versão x86 do Oracle.DataAccess.Client no Windows x64.
O procedimento parece funcionar com a versão x64 do Oracle.DataAccess.Client no Windows x64 e com as duas versões do Oracle.ManagedDataAccess.Client.
Atualizar:
Migrando do Oracle.DataAccess.Client para o Oracle.ManagedDataAccess.Client v12.1.0 (12c) da maneira mais fácil:
Editar: Link de download para o ODAC v12c Release 1 gerenciado .
Se você baixar winx64_12c_client.zip ou winnt_12c_client32.zip , extraia-os e instale (instalação completa (admin) ou instalação personalizada com o componente ODP.NET, a instalação do cliente não inclui este componente) em uma VM, você encontrará a pasta \odp.net\managed
sob a pasta “client”.
Dentro desta pasta, você encontrará common\Oracle.ManagedDataAccess.dll
, x86\Oracle.ManagedDataAccessDTC.dll
e x64\Oracle.ManagedDataAccessDTC.dll
.
Copie o Oracle.ManagedDataAccess.dll
para o diretório bin e copie a plataforma correta do Oracle.ManagedDataAccessDTC.dll
sob o diretório bin x86 / x64 ou, por cliente, instale a plataforma correta dessa DLL específica no GAC, mantendo o bin como AnyCPU.
A versão de assembly da nova DLL é 4.121.1.0 , o PublicKeyToken parece ser o mesmo (não verificá-lo, mas funcionou sem mim alterar).
Como antes, adicione esta seção à configuração / configSections do app.config (no início do arquivo app.config):
Seção:
e feche com:
Em system.data/DbProviderFactories (após o acima):
adicionar:
Para ter certeza de que você não tem nenhum conflito em seu machine.config
em seguida, adicione:
e feche com:
Observe que usei Oracle.DataAccess.Client
como invariante em vez do Oracle.ManagedDataAccess.Client
oficial. Isso porque não desejo alterar todos os meus EDMXs e recompilar os assemblies deles para que eles usem o novo cliente gerenciado em vez do antigo não gerenciado.
Em seguida, adicione a seguinte seção (após o acima) ao seu app.config
Isso passou no meu teste inicial, mas ainda não testei completamente.
Instale o Oracle Data Access Components (ODAC) de 32 bits com o Oracle Developer Tools para Visual Studio no link abaixo:
http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html