Frage

Ich las in einer MS Excel-Hilfe Artikel über Pivotcache und sich fragen, was sie bedeuten, von OLE DB und ODBC-Quellen

  

... Sie sollen der Commandtext verwenden   Eigenschaft anstelle der SQL-Eigenschaft,   was existiert jetzt in erster Linie für   Kompatibilität mit früheren Versionen von   Microsoft Excel. Wenn Sie beide verwenden   Eigenschaften, die Commandtext Eigenschaft   Wert hat Vorrang.

     

OLE DB-Quellen , die Command   Eigenschaft beschreibt den Wert der   Commandtext-Eigenschaft.

     

ODBC-Quellen , die Command   Eigenschaftsfunktionen wie genau das   SQL-Eigenschaft und Festlegen der Eigenschaft   die Daten verursacht aufgefrischt werden ...

Ich schätze Ihre kurzen Antworten wirklich.

War es hilfreich?

Lösung

Nach : ActiveX Data Objects , ein Buch von Jason T. Roff, veröffentlicht von O'Reilly Media im Jahr 2001 (ausgezeichnetes Diagramm hier), er sagt genau das, was MOZILLA sagte

.

(direkt von Seite 7 des Buchs)

  
      
  • ODBC bietet nur Zugriff auf relationale Datenbanken
  •   
  • OLE DB bietet die folgenden Funktionen      
        
    • Zugriff auf Daten unabhängig von deren Format oder Standort
    •   
    • Voller Zugriff auf ODBC-Datenquellen und ODBC-Treiber
    •   
  •   

So scheint es, dass OLE DB interagiert mit SQL-basierten Datenquellen THRU die ODBC-Treiberschicht.

alt text

Ich bin nicht 100% sicher, dass das Bild korrekt ist. Die beiden Anschlüsse mir nicht sicher bin, sind ADO.NET durch ADO C-api und OLE DB durch ODBC SQL-basierte Datenquelle (weil in Dieses Diagramm der Autor nicht durch ODBC setzen OLE DB-Zugang, die meiner Meinung nach ist ein Fehler).

Andere Tipps

ODBC: - Nur für relationale Datenbanken (SQL Server, Oracle, etc.)

OLE DB: - Für die relationalen und nicht-relationale Datenbanken. (Oracle, SQL-Server, Excel, Raw-Dateien, etc.)

Hier ist mein Verständnis (nicht-autoritativen):

ODBC ist ein technologieunabhängige offener Standard von den meisten Software-Anbieter unterstützt. OLEDB ist ein technologiespezifische Microsofts API aus der COM-Ära (COM war Bestandteil und Interoperabilität Technologie vor .NET)

An einem gewissen Punkt verschiedenen Datasouce Anbieter (zum Beispiel Oracle etc.) bereit, mit Microsoft-Daten Verbrauchern kompatibel zu sein, entwickelte OLEDB-Provider für ihre Produkte, sondern zum größten Teil OLEDB bleibt ein Microsoft-only-Standard. Nun, die meisten Microsoft Datenquellen sowohl ODBC und OLEDB Zugriff zu ermöglichen, vor allem für die Kompatibilität mit älteren ODBC-Daten Verbraucher. Auch gibt es OLE DB-Provider (Wrapper) für ODBC, die einen OLEDB verwenden können, um ODBC-Datenquellen zugreifen, wenn man so will.

Im Hinblick auf die Merkmale OLEDB ist wesentlich reicher als ODBC leidet aber an einem Ring-to-Regel-them-all-Syndrom (allzu allgemeinen, zu kompliziert, nicht risch).

Nicht-Microsoft-Welt ODBC-basierte Datenanbieter und Kunden sind weit verbreitet und nicht überall.

Innerhalb Microsoft Blase OLEDB wird auf der Oberseite baut für nativen .NET APIs schrittweise aus, was auch immer die native Transportschicht für diese Datenquelle (z TDS für MS SQL Server).

ODBC und OLE DB sind zwei konkurrierende Datenzugriffstechnologien. Insbesondere in Bezug auf SQL Server, Microsoft hat beide als ihre bevorzugte Richtung Zukunft gefördert -. Obwohl zu unterschiedlichen Zeiten

ODBC

ODBC ist eine branchenweite Standard-Schnittstelle für den Zugriff auf tabellenartige Daten. Es wurde für Datenbanken und stellt Daten in einer Sammlung von Datensätzen, von denen jeder in eine Sammlung von Feldern gruppiert ist in erster Linie entwickelt. Jedes Feld hat einen eigenen Datentyp geeignet, um die Art der Daten, die er enthält. Jeder Datenbankhersteller (Microsoft, Oracle, Postgres, ...) liefert einen ODBC-Treiber für ihre Datenbank.

Darüber hinaus gibt es ODBC-Treiber für Objekte, die, obwohl sie nicht Datenbank-Tabellen sind, sind ähnlich genug, dass die Daten in der gleichen Art und Weise Zugriff nützlich ist. Beispiele sind Tabellen, CSV-Dateien und säulen Berichte.

OLE DB

OLE DB ist eine Microsoft-Technologie für den Zugriff auf Daten. Im Gegensatz zu ODBC umfasst es sowohl tabellenartige und nicht-tabellenartige Daten wie E-Mails, Web-Seiten, Word-Dokumente und Dateiverzeichnisse. Es ist jedoch verfahrensorientierte anstatt objektorientiert und wird als ziemlich schwierig Schnittstelle angesehen, mit dem Zugriff auf Datenquellen zu entwickeln. Um dies zu überwinden, wurde ADO entwickelt, um eine objektorientierte Schicht oben auf OLE DB zu sein und eine einfachere und auf höhere Ebene zu schaffen - wenn auch immer noch sehr mächtig - Weg mit ihm zu arbeiten. ADO der große Vorteil, dass Sie können es verwenden, um Eigenschaften zu manipulieren, die spezifisch für eine bestimmte Art von Datenquelle, genauso einfach wie Sie es verwenden können, um diese Eigenschaften zugreifen, die für alle Datenquellentypen gelten. Sie sind nicht bis zu einem gewissen unbefriedigend kleinsten gemeinsamen Nenner beschränkt.

Während alle Datenbanken ODBC-Treiber haben, sie alle haben nicht OLE DB-Treiber. Es gibt jedoch eine Schnittstelle zur Verfügung zwischen OLE und ODBC, die verwendet werden können, wenn man sie in OLE DB-ähnliche Art und Weise zugreifen möchten. Diese Schnittstelle wird MSDASQL (Microsoft OLE DB-Provider für ODBC) genannt.

SQL Server Data Access Technologies

Da SQL Server (1), hergestellt von Microsoft, und (2) die Microsoft Datenbankplattform, sowohl ODBC und OLE DB ist eine natürliche Ergänzung für sie.

ODBC

Da alle anderen Datenbankplattformen ODBC-Schnittstellen hatten, Microsoft hatte offensichtlich einen für SQL Server zur Verfügung zu stellen. Zusätzlich dazu, DAO, die ursprüngliche Standard-Technologie in Microsoft Access, ODBC verwendet als Standard Art und Weise von allen externen Datenquellen zu sprechen. Dies machte eine ODBC-Schnittstelle eine sine qua non. Die Version 6 ODBC-Treiber für SQL Server, veröffentlichte mit SQL Server 2000, ist immer noch da. Aktualisierte Versionen wurden veröffentlicht, um die neuen Datentypen, Verbindungstechnologien zu handhaben, Verschlüsselung, HA / DR usw., die mit nachfolgenden Versionen erschienen sind. Ab 2018.09.07 die neueste Version ist V13.1 „ODBC-Treiber für SQL Server“, veröffentlicht am 23/03/2018.

OLE DB

Dies ist eine eigene Technologie von Microsoft, die sie von etwa 2002 stark zu fördern wurden - 2005, zusammen mit den zugehörigen ADO-Schicht. Sie hofften offenbar, dass es die Datenzugriffstechnologie geworden wäre. (Sie haben uns sogar ADO die Standardmethode für die Daten in Access 2002/2003 erreichbar.) Ist es jedoch schließlich wurde deutlich, dass dies nicht würde für eine Reihe von Gründen geschehen, wie zum Beispiel:

  1. Die Welt war nicht auf Microsoft-Technologien konvertieren gehen und weg von ODBC;
  2. DAO / ODBC war schneller als ADO / OLE DB und wurde auch gründlich integriert in MS Access, so war nicht eines natürlichen Todes sterben;
  3. Neue Technologien, die von Microsoft entwickelt wurden, speziell ADO.NET, könnte auch direkt mit ODBC sprechen. ADO.NET könnte direkt mit OLE sprechen DB als auch (also ADO in einem Rückstau zu verlassen), aber es war nicht (im Gegensatz zu ADO) allein abhängig.

Aus diesen Gründen und andere , Microsoft eigentlich veraltete OLE DB als Datenzugriffstechnologie für SQL Server Versionen nach v11 (SQL Server 2012). Für ein paar Jahre vor diesem Zeitpunkt hatte sie produziert und den SQL Server Native Client zu aktualisieren, die sowohl ODBC und OLE DB-Technologien unterstützt. Ende 2012 jedoch kündigte sie, dass sie mit ODBC würde Ausrichtung für native relationalen Datenzugriff in SQL Server, und ermutigt alle anderen das gleiche zu tun. Sie erklärte weiter, dass SQL Server Versionen nach v11 / SQL Server 2012 würden aktiv nicht unterstützt OLE DB!

Diese Ankündigung löste einen Sturm der Entrüstung. Die Menschen waren mit einem Verlust zu verstehen, warum MS plötzlich eine Technologie wurde ironische, dass sie Jahre damit verbracht hatten sie immer zu begehen. Zusätzlich SGVW / SSRS und SSIS, die MS-Anwendungen geschrieben wurden innig zu SQL Server verbunden sind, waren vollständig oder teilweise auf OLE DB abhängig. Noch eine weitere Beschwerde war, dass OLE DB bestimmte wünschenswerte Eigenschaften hatte, die es zurück zu ODBC unmöglich Port schien -. Immerhin OLE DB viele gute Punkte hatte

Im Oktober 2017 Microsoft nachgegeben und offiziell un-veraltet OLE DB . Sie kündigten die bevorstehende Ankunft eines neuen Treibers (MSOLEDBSQL), die das bestehende Feature-Set des Native Client 11 haben würde und auch Multi-Subnetz-Failover und TLS 1.2-Unterstützung einzuführen. Der Fahrer wurde März 2018 veröffentlicht.

Auf einer sehr einfachen Ebene das sind nur verschiedene APIs für die verschiedenen Datenquellen (d Datenbanken). OLE DB ist neuer und wohl besser.

Sie können mehr über beide in Wikipedia lesen:

  1. OLE DB
  2. ODBC

d. Sie könnten auf die gleiche Datenbank mit einem ODBC-Treiber oder OLE DB-Treiber verbinden. Der Unterschied in der Datenbank Verhalten in diesen Fällen ist das, was Ihr Buch bezieht.

Beide sind Datenprovider (API, die Ihr Code mit einer Datenquelle zu reden verwenden). Oledb die 1998 eingeführt wurde, sollte ein Ersatz für ODBC (1992 eingeführt) sein

Ich bin nicht sicher, ob alle Details, aber mein Verständnis ist, dass OLE DB und ODBC sind zwei APIs, die ohne mit allen Implementierung spezifischen Details jeder beschäftigen zu müssen für die Verbindung mit verschiedenen Arten von Datenbanken zur Verfügung stehen. Nach der Wikipedia-Artikel über OLE DB , OLE DB Microsoft ist Nachfolger auf ODBC, und bietet einige Funktionen, die Sie nicht mit ODBC möglicherweise in der Lage zu tun, wie Tabellen als Datenbankquellen zugreifen.

Bei Microsoft-Website, zeigt es, dass nativen OLE DB-Provider direkt auf SQL Server angelegt wird, und ein anderer OLE DB-Provider genannt OLE DB-Provider für ODBC auf andere Datenbank zuzugreifen, wie SYSBASE, DB2 usw. Es gibt verschiedene Arten von Komponenten unter OLE DB-Provider. Siehe verteilte Abfragen auf MSDN mehr .

• August 2011: Microsoft deprecates OLE DB ( Microsoft Ausrichten mit ODBC für native Relational Data Access )

• Oktober 2017: Microsoft undeprecates OLE DB ( Ankündigung der neuen Version von OLE DB-Treiber für SQL Server )

ODBC funktioniert nur für relationale Datenbanken, kann es funktioniert nicht mit nicht-relationalen Datenbanken wie MS Excel-Dateien. Wo Olebd kann alles.

Um zu wissen, warum M $ OLEDB erfindet, können Sie nicht OLEDB mit ODBC vergleichen. Stattdessen sollten Sie OLEDB mit DAO, RDO oder ADO vergleichen. Letztere stützt sich weitgehend auf SQL. Jedoch beruht OLEDB auf COM. Aber ODBC ist schon viele Jahre dort, so gibt es eine OLEDB-ODBC Brücken hier Abhilfe zu schaffen. Ich denke, es ist ein großes Bild, wenn M $ OLEDB erfindet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top