Spero che i seguenti passaggi ti diano il risultato corretto.
Per sostituire System.Data.OracleClient con Oracle.DataAccess.Client; e Oracle.DataAccess.Types
Scarica e installa l'ultima versione di Microsoft Enterprise Library ver 3.1. Puoi trovarla qui:- http://msdn2.microsoft.com/en-us/library/aa480453.aspx
Scarica e installa Oracle ODP.Net dal sito Web di Oracle Il tuo file DLL dovrebbe essere in :-C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll
Quando ti viene chiesto di installare il sorgente, fallo usando la casella di controllo.
In caso contrario, eseguire il file msi nel seguente percorso C:\Programmi\Microsoft Enterprise Library 3.1 - maggio 2007\src
Il codice per la libreria viene archiviato nel seguente percorso C:\EntLib3Src\App Blocks
Fai un backup della cartella src originale nel caso in cui ne avessi bisogno in seguito - C:\EntLib3Src\App Blocks\Src
Apri il file della soluzione EnterpriseLibrary.sln e vai al progetto di dati in Blocco applicazione di accesso ai dati
Aggiungere il riferimento Oracle.DataAccess.dll al progetto di dati. Il tuo file DLL dovrebbe essere in:- C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll
Cerca e sostituisci quanto segue [ Invece puoi scaricare e utilizzare la DLL aggiornata allegata a questo articolo]
File :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
File :- C:\EntLib3Src\App Blocks\Src\Data\DatabaseConfigurationView.cs
File :- C :\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDataReaderWrapper.cs
Trova :- using System.Data.OracleClient;
Sostituisci con:- using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;
File :- C:\EntLib3Src\App Blocks\Src\Data\Configuration\DbProviderMapping.cs Classe:- DbProviderMapping
Trova :- System.Data.OracleClient
Sostituisci con:- Oracle.DataAccess.Client
File:- C:\EntLib3Src\App Blocks\Src\Data\Configuration\Manageability\ConnectionStringsManageabilityProvider.cs
Metodo:- AddAdministrativeTemplateDirectives
Trova :- System.Data.OracleClient
Sostituisci con:- Oracle.DataAccess.Client
File :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Metodo:- AddParameter
Trova:- 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)
Sostituisci con:- 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 sostituito con OracleDbType come terzo parametro in quanto il nome del tipo nell'API odp.net
File:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Rimuovi:- [OraclePermission(SecurityAction.Demand)]
-
Non ho idea di cosa faccia se qualcuno lo fa, per favore, informa sulla sessione di feedback
File:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Trova:- OracleType.Raw
Sostituisci con:- OracleDbType.Raw
Trova:- param.OracleType
Sostituisci con:- param.OracleDbType
Trova:- OracleType.Cursor
Sostituisci con:- OracleDbType.RefCursor
Trova:- parameter.OracleType
Sostituisci con:- parameter.OracleDbType
Compila ora e se ricevi un errore, fai il seguente Avviso come errore:Commento XML su - Rimuovi il contenuto dell'errore evidenziato / sostituiscilo con un commento approp Si spera che ora dovrebbe essere compilato correttamente.
Ora la DLL che è stata generata compilando il progetto sopra può essere utilizzata sia contro SqlServer che contro Oracle [ODP.Net]