Kürzlich Zed Shaw (ein Programmierer, der bloggt) erwähnte, dass ODBC-Referenzen aus dem populären Python-Buch Dive in Python entfernt werden sollten. Ich habe noch nie mit ODBC gearbeitet und wollte nur verstehen, warum ODBC so "schlecht" ist. Was sind die Vor- und Nachteile der Technologie? Welche Alternativen gibt es?
Das größte Problem ist, dass 64-Bit-Unterstützung nicht vollständig über verschiedene Datenquellen verfügbar ist. Ein weiteres Problem besteht darin, dass Menschen ODBC häufig von einer anderen Technologie überbrücken, bei der sie einfach die unnötigen Komplexitätsebenen eliminieren könnten. Zum Beispiel, JDBC- & gt; ODBC, wenn sie einfach JDBC direkt gehen könnten.
Nur um Cat's Kommentar hinzuzufügen: Es scheint, dass viele JDBC-Treiber sehr dünne Wrapper über ODBC-Code sind, oder alternativ, dass ein bestimmter ODBC- und JDBC-Treiber dünne Wrapper über dem gemeinsamen Code "unterhalb" sind.
Es gab eine Zeit, als ODBC auch langsam / fehlerhaft war. Es hat einen schlechten Ruf erlangt, und die Beharrlichkeit von MS, alle n Jahre eine neue Datenzugriffstechnologie einzuführen, hat dazu geführt, dass sich ihre ODBC-Treiber nicht verbessert haben, während ihr neues System viele der Bugs kopiert hat (wie in der Gawd-schrecklicher Texttreiber). Aber diejenigen, die kein anderes System hatten, wie die iODBC-Jungs, schlossen sich an und landeten auf einer Reihe von leistungsstarken, soliden und schnellen Treibern. Irgendwelche frühen Beschwerden über die Leistung wurden vor langer Zeit angesprochen.
Meine Hauptbeschwerde bei ODBC heute ist der Overhead der Treiberinstallation. JDBC kann das on-the-fly erledigen, was für jeden vom Benutzer bis zur IT-Abteilung viel einfacher ist.