2008-11-07 9 views
18

Was ist der Unterschied zwischen OLEDB und ODBC? Wann verwende ich was und woher weiß ich, was ich sehe, ist ein OLEDB-Treiber v/s ein ODBC-Treiber?OLEDB v/s ODBC

Antwort

20

OLEDB und ODBC sind zwei verschiedene Datenbank-APIs. ODBC ist ein älterer Standard und ist eigentlich nicht spezifisch für Windows - Sie können Unix-basierte ODBC-Bibliotheken bekommen. OLEDB ist eine COM-basierte API für Datenbankverbindungen.

Es gibt einen Treiber zum Umschließen von ODBC mit einem OLEDB-Front-End, wenn die von Ihnen verwendete Datenbank nicht mit einem nativen OLEDB-Treiber geliefert wird. IIRC DB2/400- und Sybase OLEDB-Treiber (zum Beispiel) verwenden diese Methode.

Der ODBC-Administrator in Windows betrifft nur ODBC-Treiber. Sowohl ODBC als auch OLEDB können Verbindungszeichenfolgen verwenden, die ein geringfügig anderes Format haben. Sie können anhand der Verbindungszeichenfolge erkennen, dass www.connectionstrings.com Beispiele von Verbindungszeichenfolgen für viele verschiedene Datenbanktreiber enthält.

Bearbeiten: Oracle hat eine Treibertechnologie für jeden Tag der Woche.

  • haben Oracle ein native OLEDB driver 'Oracle-Provider für OLEDB' oder so genannt. Wenn Sie mit ADO (non.Net, das über OLEDB sitzt) ist dies der bevorzugte Treiber.

  • Sie haben auch eine ODBC driver , die (zum Beispiel), die für Extrahieren aus einer Oracle-Datenbank in MS-Access oder mit einer Anwendung oder ein System sein würden, die nicht OLEDB unterstützen wird. Zum Beispiel werden ältere Delphi/Oracle- oder Powerbuilder/Oracle-Apps wahrscheinlich diesen Treiber verwenden.

  • Oracle hat auch eine Oracle-spezifische Schnittstelle OCI genannt. Dies ist die schnellste Schnittstelle, wenn Sie in C schreiben und wird auch auf Nicht-Windows-Plattformen funktionieren, bindet aber Ihre Anwendung an Oracle. Dynamische Sprachenbindungen wie cx_Oracle für Python sind in der Regel OCI-Wrapper.

  • Wenn Sie mit .Net Sie wahrscheinlich wollen ODP.Net statt für OLEDB das .Net bieten verwenden. Dies ist die Standard .Net-Schnittstellenbibliothek von Oracle.

  • Es gibt mehrere JDBC drivers für Oracle. Es gibt einen Typ-2-Treiber , der ein Wrapper für OCI ist und einen Typ-4-Treiber, der nativ in Java geschrieben ist und direkt über das Netzwerk an den -Server kommuniziert. Wenn Sie Java verwenden, ist der Typ-4-Treiber wahrscheinlich der beste für die meisten Anwendungen (Sie müssen keinen vollständigen Oracle-Client installieren), es sei denn, Sie haben einen besonderen Grund, den Typ-2-Treiber zu benötigen.

+0

Also, wenn ich Optionen zum Verbinden mit einer Oracle DB sagen würde, von einem Windows-System, was wäre die empfohlene Option und warum? – Dan

+0

Ich glaube nicht, dass es möglich ist, eine gute Antwort auf diese Frage zu geben, ohne zu wissen, welche Sprache Sie verwenden möchten. – gnud

+0

Sag, es ist .NET. Und wäre der Fahrer wichtig? Ich dachte, es hängt vom Betriebssystem ab. – Dan