Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verbinden von Oracle über ODP.NET mit Enterprise Library DAAB

Ich hoffe, die folgenden Schritte liefern Ihnen das richtige Ergebnis.

Um System.Data.OracleClient durch Oracle.DataAccess.Client zu ersetzen; und Oracle.DataAccess.Types

Laden Sie die neueste Version der Microsoft Enterprise Library Version 3.1 herunter und installieren Sie sie. Sie finden sie hier:- http://msdn2.microsoft.com/en-us/library/aa480453.aspx

Laden Sie Oracle ODP.Net von der Oracle-Website herunter und installieren Sie es. Ihre DLL-Datei sollte sich unter :-C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll

Wenn Sie aufgefordert werden, die Quelle zu installieren, tun Sie dies, indem Sie das Kontrollkästchen aktivieren.

Wenn Sie dies nicht getan haben, führen Sie die MSI-Datei unter folgendem Pfad aus:C:\Programme\Microsoft Enterprise Library 3.1 - Mai 2007\src

Der Code für die Bibliothek wird unter folgendem Pfad gespeichert:C:\EntLib3Src\App Blocks

Erstellen Sie eine Sicherungskopie des ursprünglichen src-Ordners, falls Sie sie später benötigen - C:\EntLib3Src\App Blocks\Src

Öffnen Sie die Lösungsdatei EnterpriseLibrary.sln und rufen Sie das Datenprojekt unter Data Access Application Block

auf

Fügen Sie dem Datenprojekt eine Oracle.DataAccess.dll-Referenz hinzu. Ihre DLL-Datei sollte sich in:- C:\oracle\product\11.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll

befinden

Suchen und ersetzen Sie Folgendes [Stattdessen können Sie die aktualisierte DLL herunterladen und verwenden, die diesem Artikel beigefügt ist]

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

Suchen:- using System.Data.OracleClient;
Ersetzen durch:- using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;

Datei:– C:\EntLib3Src\App Blocks\Src\Data\Configuration\DbProviderMapping.cs Klasse:– DbProviderMapping

Suchen:- System.Data.OracleClient
Ersetzen durch:- Oracle.DataAccess.Client

Datei:- C:\EntLib3Src\App Blocks\Src\Data\Configuration\Manageability\ConnectionStringsManageabilityProvider.cs
Methode:- AddAdministrativeTemplateDirectives
Finden:- System.Data.OracleClient
Ersetzen durch:- Oracle.DataAccess.Client

Datei:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Methode:- 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)

Ersetzen durch:- 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)

Grund:- OracleType wurde durch OracleDbType als dritten Parameter als Typname in der odp.net-API ersetzt

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

Ich habe keine Ahnung, was das bewirkt, wenn jemand dies tut, informieren Sie sich bitte über die Feedback-Sitzung

Datei:- C:\EntLib3Src\App Blocks\Src\Data\Oracle\OracleDatabase.cs
Suchen:- OracleType.Raw
Ersetzen durch:- OracleDbType.Raw

Suchen:- param.OracleType
Ersetzen durch:- param.OracleDbType

Suchen:- OracleType.Cursor
Ersetzen durch:- OracleDbType.RefCursor

Suchen:- parameter.OracleType
Ersetzen durch:- parameter.OracleDbType

Kompilieren Sie jetzt und wenn Sie einen Fehler erhalten, geben Sie die folgende Warnung als Fehler ein:XML-Kommentar an - Entfernen Sie den hervorgehobenen Fehlerinhalt / ersetzen Sie ihn durch einen geeigneten Kommentar. Hoffentlich sollte es jetzt gut kompilieren.

Jetzt kann die DLL, die durch Kompilieren des obigen Projekts generiert wurde, sowohl für SqlServer als auch für Oracle [ODP.Net]

verwendet werden