Oracle
 sql >> Base de données >  >> RDS >> Oracle

Connexion d'Oracle à l'aide d'ODP.NET avec Enterprise Library DAAB

J'espère que les étapes suivantes vous donneront le bon résultat.

Pour remplacer System.Data.OracleClient par Oracle.DataAccess.Client ; et Oracle.DataAccess.Types

Téléchargez et installez la dernière version de Microsoft Enterprise Library ver 3.1. Vous pouvez la trouver ici :- http://msdn2.microsoft.com/en-us/library/aa480453.aspx

Téléchargez et installez Oracle ODP.Net à partir du site Web d'Oracle Votre fichier DLL doit se trouver dans :-C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll

Lorsqu'il vous invite à installer la source, faites-le en cochant la case.

Si vous n'avez pas exécuté le msi sur le chemin suivant C:\Program Files\Microsoft Enterprise Library 3.1 - May 2007\src

Le code de la bibliothèque est stocké sur le chemin suivant C:\EntLib3Src\App Blocks

Faites une sauvegarde du dossier src d'origine au cas où vous en auriez besoin plus tard - C:\EntLib3Src\App Blocks\Src

Ouvrez le fichier de solution EnterpriseLibrary.sln et accédez au projet de données sous Data Access Application Block

Ajoutez la référence Oracle.DataAccess.dll au projet de données. Votre fichier DLL doit être dans :- C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll

Recherchez et remplacez les éléments suivants [Au lieu de cela, vous pouvez télécharger et utiliser la DLL mise à jour jointe à cet article]

Fichier :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Fichier :- C:\EntLib3Src\App Blocks\Src\Data\DatabaseConfigurationView.cs
Fichier :- C :\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDataReaderWrapper.cs

Rechercher :- using System.Data.OracleClient;
Remplacez par :- using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;

Fichier :- C:\EntLib3Src\App Blocks\Src\Data\Configuration\DbProviderMapping.cs Classe :- DbProviderMapping

Trouver :- System.Data.OracleClient
Remplacer par :- Oracle.DataAccess.Client

Fichier :- C:\EntLib3Src\App Blocks\Src\Data\Configuration\Manageability\ConnectionStringsManageabilityProvider.cs
Méthode :- AddAdministrativeTemplateDirectives
Rechercher :- System.Data.OracleClient
Remplacer par :- Oracle.DataAccess.Client

Fichier :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Méthode :- AddParameter

Rechercher :- 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)

Remplacer par :- 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)

Raison :- OracleType remplacé par OracleDbType comme troisième paramètre car le nom du type dans l'API odp.net

Fichier :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Supprimer :- [OraclePermission(SecurityAction.Demand)] -

Je n'ai aucune idée de ce que cela fait si quelqu'un le fait, s'il vous plaît, informez-vous sur la session de commentaires

Fichier :- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Rechercher :- OracleType.Raw
Remplacer par :- OracleDbType.Raw

Trouver :- param.OracleType
Remplacer par :- param.OracleDbType

Rechercher :- OracleType.Cursor
Remplacer par :- OracleDbType.RefCursor

Rechercher :- parameter.OracleType
Remplacer par :- parameter.OracleDbType

Compilez maintenant et si vous obtenez une erreur, procédez comme suit Avertissement en tant qu'erreur :commentaire XML sur - Supprimez le contenu de l'erreur en surbrillance / remplacez-le par un commentaire approprié.

Maintenant, la DLL qui a été générée en compilant le projet ci-dessus peut être utilisée à la fois contre SqlServer et Oracle [ODP.Net]