Wie ein Oracle-Provider für .NET-Anwendung wählen?
-
22-08-2019 - |
Frage
Ich versuche, herauszufinden, was der beste Weg ist, eine (vorhandene) ASP.Net Anwendung zu einer Oracle-Datenbank zu lesen seine Wörterbuchinformationen.
verbindenEs gibt einfach zu viele Möglichkeiten:
- MS Data Provider für Oracle (erfordert 8.1.7, Namespace System.Data.OracleClient)
- Oracle Data Provider for .NET (erfordert 9.2, Namensraum Oracle.DataAccess)
- Oracle-Provider für OLE DB
- MSDASQL und ODBC
Als meine aktuelle Anwendung verwendet MSSQL Server, weitere Möglichkeiten wären:
- Linked Server, den Zugriff über server..user.object
- Linked Server über OPENROWSET
Es gibt ein paar Fragen zu ähnlichen Themen auf SO, aber nur hat einige akzeptierten Antworten.
Was ist Ihre Erfahrung mit jedem der Fahrer? Was sind ihre Vor-und Nachteile?
Natürlich Oracle empfiehlt ODP.Net. Ist das Erfordernis der Version 9.2 (oder höher) ein Problem heute?
Lösung
ich auch empfehlen ODP.NET. Wählen Sie die neuesten Provider ( http://www.oracle.com/technology/ tech / windows / odpnet / index.html ). Es kann mit einer Oracle-Datenbank 9.2 oder einer neueren Version der Datenbank verbinden.
Die MS Data Provider für Oracle ist sehr begrenzt. Sie können nicht mit Arrays zum Beispiel und benutzerdefinierten Typen arbeiten. Und warum sollte Microsoft bieten eine gute Unterstützung für Oracle für den Anschluss?
Sie können auch die Anbieter von devart Check-out: http://www.devart.com/dotconnect / oracle / . Es unterstützt die Entity Framework.
Andere Tipps
Dump OLE DB und ODBC-Optionen, wenn Sie den direkten Datenzugriff Anbieter haben, gibt es keine Notwendigkeit, sich mit der OLE DB oder ODBC.
Ich empfehle Oracle Data Provider für .NET.
Microsoft soeben angekündigt, es ist deprecating System.Data.OracleClient .
Ich denke, dass lässt Sie mit ein paar Möglichkeiten (mindestens):
- ODP.NET (frei, von Oracle)
- DevArt
- Datadirect
DevArt hat auch eine LINQ to Oracle Implementierung, die für Sie interessant sein könnten.