Espero que as etapas a seguir lhe dêem o resultado correto.
Para substituir System.Data.OracleClient por Oracle.DataAccess.Client; e Oracle.DataAccess.Types
Baixe e instale a versão mais recente do Microsoft Enterprise Library ver 3.1 Pode ser encontrada aqui:- http://msdn2.microsoft.com/en-us/library/aa480453.aspx
Baixe e instale o Oracle ODP.Net do site da Oracle Seu arquivo DLL deve estar em :-C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll
Quando ele solicitar que você instale a fonte, faça isso usando a caixa de seleção.
Se você não executou o msi no seguinte caminho C:\Program Files\Microsoft Enterprise Library 3.1 - May 2007\src
O código para a biblioteca é armazenado no seguinte caminho C:\EntLib3Src\App Blocks
Faça um backup da pasta src original caso precise deles mais tarde - C:\EntLib3Src\App Blocks\Src
Abra o arquivo de solução EnterpriseLibrary.sln e acesse o projeto de dados em Data Access Application Block
Adicione a Referência Oracle.DataAccess.dll ao Projeto de Dados. Seu arquivo DLL deve estar em:- C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll
Pesquise e substitua o seguinte [Em vez disso, você pode baixar e usar a DLL atualizada anexada a este artigo]
Arquivo :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Arquivo :- C:\EntLib3Src\App Blocks\Src\Data\DatabaseConfigurationView.cs
Arquivo :- C :\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDataReaderWrapper.cs
Encontre :-
using System.Data.OracleClient;
Substitua por:-
using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;
Arquivo :- C:\EntLib3Src\App Blocks\Src\Data\Configuration\DbProviderMapping.cs Class:- DbProviderMapping
Encontre :-
System.Data.OracleClient
Substituir por:-
Oracle.DataAccess.Client
Arquivo :- C:\EntLib3Src\App Blocks\Src\Data\Configuration\Manageability\ConnectionStringsManageabilityProvider.cs
Método:-
AddAdministrativeTemplateDirectives
Localizar:-
System.Data.OracleClient
Substituir por:-
Oracle.DataAccess.Client
Arquivo :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Método:-
AddParameter
Find :-
public void AddParameter(OracleCommand command, string name, OracleType oracleType, int size, ParameterDirection direction, bool nullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
Substitua por:-
public void AddParameter(OracleCommand command, string name, OracleDbType oracleType, int size, ParameterDirection direction, bool nullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
Motivo:- OracleType substituído por OracleDbType como terceiro parâmetro, pois o nome do tipo na API odp.net
Arquivo:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Remover:-
[OraclePermission(SecurityAction.Demand)]
-Não tenho ideia do que isso faz se alguém fizer, por favor, informe sobre a sessão de feedback
Arquivo:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Localizar:-
OracleType.Raw
Substituir por:-
OracleDbType.Raw
Localizar:-
param.OracleType
Substituir por:-
param.OracleDbType
Localizar:-
OracleType.Cursor
Substituir por:-
OracleDbType.RefCursor
Localizar:-
parameter.OracleType
Substituir por:-
parameter.OracleDbType
Compile agora e se você receber um erro, faça o seguinte Warning as Error:XML comment on - Remova o conteúdo do erro realçado / substitua-o por um comentário apropriado Espero que ele compile bem agora.
Agora a DLL que foi gerada compilando o projeto acima pode ser usada tanto no SqlServer quanto no Oracle [ODP.Net]