Alternative Oracle-Treiber für .net

7

Ich muss ein Werkzeug in C # entwickeln, das einige Daten von einer Oracle DB abruft. Da unsere IT-Abteilung Probleme bei der Installation des Oracle-Clients hat, möchte ich in der Lage sein, eine Verbindung zur Datenbank herzustellen, ohne dass der Client installiert ist. Die Idee ist, einfach eine zusätzliche Bibliothek zusammen mit der App zu installieren (und vielleicht zu registrieren).

Welche Alternativen zum Oracle-Client gibt es und welche Vor- und Nachteile haben sie?

Dies ist für eine kleine Anwendung (1 Formular, 2 oder 3 Abfragen, das Ergebnis wird in einem DataGrid angezeigt, wahrscheinlich nicht mehr als 10-20 Datensätze), aber ich bin auch an Skalierbarkeitsproblemen interessiert, da wir möglicherweise auch verschieben weg vom Oracle-Client mit größeren Zukunftsprojekten.

Natürlich wäre eine Freeware-Lösung nett, aber wir sind nicht darauf beschränkt.

    
Treb 30.01.2009, 15:28
quelle

4 Antworten

8

Es gibt ein paar verschiedene Varianten des Oracle ODP.Net-Treibers . Welche Version möchten Sie verwenden?

Es klingt, als ob Sie die Oracle 11g ODAC 11.1.0.6.21 mit Xcopy Deployment möchten, mit der Sie den Oracle Instant Client und den ODP.Net-Treiber bereitstellen können, indem Sie nur einige DLLs kopieren und registrieren. Das erfordert keine vollständige Oracle-Client-Installation.

    
Justin Cave 30.01.2009, 15:42
quelle
9

Ihre Aufgabe kann ohne Software von Drittanbietern gelöst werden:

  1. Installieren Sie Oracle Data Access-Komponenten 11g in Ihrer Entwicklungsumgebung. ODAC 11g ist abwärtskompatibel zu 9i und 10g
  2. Fügen Sie in Ihren .NET-Projekten (Oracle.DataAccess.dll) einen Verweis auf die ODAC-Bibliothek hinzu.
  3. Ermöglichen Sie Ihrer Anwendung, ohne die Verwendung von TNSNAMES.ORA eine Verbindung herzustellen. Um dies zu tun, müssen Sie den Verbindungsdeskriptor in die Verbindungszeichenfolge aufnehmen:

    "Benutzer-ID = scott; Passwort = Tiger; Datenquelle=" + "(BESCHREIBUNG = (ADRESSE = (PROTOCOL = tcp)" + "(HOST = Sales-Server) (PORT = 1521)) (CONNECT_DATA=" + "(SERVICE_NAME = sales.us.acme.com)))"

Da Sie den Verbindungsdeskriptor in die Verbindungszeichenfolge aufnehmen, ist der Thin Client in den Zielcomputern nicht erforderlich.

Glückliche Bereitstellung.

    
Igor Zelaya 03.02.2009 18:57
quelle
3

Oracle verfügt derzeit über eine vollständig verwaltete ODP.NET-Version, mit der Entwickler Verbindungen zu Oracle-Datenbanken herstellen können, während sie nur auf eine einzelne DLL verweisen. Es gibt weitere Informationen hier .

Aktuelle Veröffentlichungen finden Sie hier .

    
Peder Rice 26.02.2013 15:50
quelle
0

Der Enterprise-Bibliothek-Client System.Data.OracleClient ist eine praktikable Alternative zum ODP.NET-Provider von Oracle. Es gibt jedoch einige Einschränkungen, die Sie kennen sollten. Die Verwendung des Microsoft-Clients macht es extrem schwierig, mit beliebigen großen Objekten zu arbeiten, unabhängig davon, ob es sich um XML-Zeichenfolgen, CLOBs, LOBs oder BLOBs handelt. Auch die Oracle XmlType-Spalte wird nicht unterstützt und muss an einen CLOB übergeben werden, um in den OracleClient zurückgegeben zu werden.

    
Chris Marisic 30.01.2009 15:33
quelle

Tags und Links