| Hier finden sie ausgewählte Informationen, zum Einrichten und Verwenden von ODBC-Datenquellen auf Windows-PC. |
►
Daten-Angebote (Export) können sich an beliebiger
erreichbarer Stelle befinden (eigener PC, lokales Netzwerk LAN, Internet, ... ) ► Zum Daten-Import müssen ODBC-Datenquellen (DSN's) auf jedem einzelnen PC (lokal) eingerichtet werden. |
ODBC
|
Open DataBase Connectivity |
| Daten & Treiber | Datenquelle -> ODBC -> Daten-Import |
| Verwaltung | Management von ODBC-Datenquellen |
| DSN-Einrichtung | Konfiguration einer Datenquelle (Data Source Name, DSN) |
| ODBC-Tricks 1 | Manuelle Änderung der Registry-Datenbank |
| ODBC-Tricks 2 | Registry-Scripts |
| ODBC-Tricks 3 | DSN-Text-Dateien |
| Datenquellen | Spezielle Dateien als Datenquellen |
Jede Text-Datei kann als DSN dienen ! |
|
|
OpenOffice-Calc oder MS-Excel als Datenquelle
|
|
|
Openoffice-Base oder MS-Access als Datenquelle
|
|
| Programmierung | ODBC und Alternativen in Programmiersprachen |
| Links |
Ausgewählte
|
Daten und Treiber |
|
Voraussetzung: Daten-AngebotZur Einrichtung einer ODBC-Datenquelle muss man über ein Angebot an Daten verfügen, d.h. über eine Datei, ein Programm oder einen Dienst (Server), welche Daten für andere Programme zur Verfügung stellen. (Zur Unterscheidung wird hier 'Angebot' statt 'Datenquelle' verwendet).■ Notfalls genügen sogar Text-Dateien als Daten-Angebot. ■ MS-Excel und MS-Access können nach entsprechender Vorbereitung ihre Daten via ODBC anbieten. |
■ Im Idealfall verwenden sie einen SQL-Datenbank-Server, z.B. → MySQL. Für einen ersten Test richten sie eine kleine Datenbank (z.B. "test") mit mindestens einer Tabelle ein. Tragen sie einige Datensätze ein. Musterdatei personen.sql ist eine SQL-Steuerdatei ("dump"), welche eine kleine Test-Datenbank einrichtet. ■ Darüber hinaus gibt es eine große Anzahl anderer Daten-Angebote. Konsultieren sie den jeweiligen Hersteller um zu erfahren, ob ein Programm oder die von ihm erstellten Dateien als ODBC-Angebote dienen können. |
ODBC-Treiber► Grundlage ist das Daten-Angebot: Ein Programm, ein Dienst oder eine Datei, welche ihre Daten exportieren können.(z.B. MySQL-Server, MS-Access, MS-Excel, SQLite-Dateien, Text-Dateien, ...) ► Für jedes Daten-Angebot wird ein dazu passender ODBC-Treiber benötigt. Ein ODBC-Treiber vermittelt zwischen einem Daten-Angebot und der ODBC-Schnittstelle eines PC. ► Der ODBC-Treiber wird auf allen Clients installiert, d.h. auf jedem PC, welcher die Daten verwenden soll. ► Jedes Windows System enthält einen ODBC-Administrator (odbcad32.exe), je nach Version unter verschiedenen Namen. Damit muss jede ODBC-Datenquelle (Data Source Name, DSN) auf jedem Client-PC eingerichtet werden. Eine DSN erhält einen symbolischen DSN-Namen und je nach Typ weitere Angaben. MySQL-DSN enthalten z.B. Informationen über den SQL-Server (IP-Adresse), Datenbank, UserName und Passwort. Excel-DSN enthalten z.B. Informationen über den Pfad zur Excel-Datei. ► Import: Ein Programm, welches eine ODBC Datenquelle nutzen will, verwendet den symbolischen Namen der DSN. Mit dem DSN-Namen sind die gespeicherten Parameter verknüpft. Mit Hilfe des ODBC-Treibers wird die Verbindung zur Datenquelle hergestellt, die (aktuellen) Daten werden importiert. |
■ Treiber für Text-Dateien sind normalerweise im Betriebssystem enthalten. ■ Treiber für MS-Office Programme werden zusammen mit diesen installiert (Achten sie darauf, MSQuery zu installieren, diese Option müssen sie ausdrücklich angeben !) ■ Treiber für andere Datenquellen erhält man meist kostenlos vom Hersteller. Beachten sie das Kapitel 'ODBC-Tricks' auf dieser Seite. ■ Den Treiber für MySQL-Server (MyODBC) erhalten sie kostenlos bei MySQL. Nach Download müssen sie ihn installieren (Anleitung ebenfalls bei MySQL). ■ Den Treiber für SQLite-(Dateien) kann man ebenfalls aus dem Internet laden, z.B. von ch-werner. |
|
ODBC war eine der besten Entwicklungen von M$: Ein Standard, der es erlaubt,
unabhängig von Hersteller, Plattform und Version Datenquellen zu nutzen. Später wurde ODBC zusammen mit ADO, RDO, OLE und anderen Technologien in das Paket MDAC (Microsoft Data Access Components) gepackt, welches nun Bestandteil jedes neueren Win-Systems ist. |
Leider ist die praktische Anwendung so (unnötig) kompliziert programmiert,
dass die meisten PC-AnwenderInnen davon abgeschreckt werden. Eine alternative Daten-Schnittstelle bietet → XML - Dieser Standard verwendet einfachen Text ist deshalb wesentlich flexibler, sowie vom Betriebssysteme unabhängig. |
Verwaltung von ODBC-Datenquellen |
|
Daten-Angebot, Treiber, ODBC-ManagerWenn sie über mindestens ein Daten-Angebot und den dazu passenden ODBC-Treiber verfügen, dann können sie eine ODBC-Datenquelle (DSN, Data Source Name) am eigenen PC einrichten.Normalerweise benötigen sie dazu allerdings Administrator-Rechte: Melden sie sich als Administrator an. Windows verwaltet die Daten der ODBC-DSN's an verschiedenen Stellen: |
► Die Registry-Datenbank enthält die Daten aller installierten ODBC-Treiber, sowie die Namen und Parameter aller eingerichteten DSN's. ► Jede DSN wird zusätzlich durch eine Text-Datei *.dsn beschrieben, welche die gleichen Daten wie die Registry enthält. |
|
■
Jedes Windows-Betriebssystem enthält den ODBC-Administrator zur Verwaltung
der ODBC-Datenquellen an diesem PC:
C:\system32\odbcad32.exe
Damit kann man Datenquellen (Data Source Names, DSN'S) einrichten,
meist auch testen oder SQL-Befehle erteilen.Auch andere Hersteller bieten Software zur ODBC-Verwaltung an. |
Mit dem Registry-Editor (regedit.exe) und einem beliebigen Text-Editor können sie ebenfalls alle ODBC-Details kontrollieren, erstellen, ändern, löschen. - Das erfordert allerdings fortgeschrittene Kenntnisse ! |
Einrichtung einer ODBC-Datenquelle (Data Source Name, DSN)
|
|
Voraussetzungen:■ Daten-Angebot ist vorhanden. Wenn möglich sollten sie durch einen Test die Verwendbarkeit sicherstellen.■ Treiber (passend zum Daten-Angebot) ist installiert. |
■
Die Einrichtung erfolgt mit einem ODBC-Administrator (odbcad32.exe): Dieses und ähnliche Programme bieten Formulare und Assistenten zur Einrichtung einer Datenquelle (DSN). Die Formulare sind unterschiedlich je nach den Anforderungen der Datenquelle ! Nach erfolgreichem Abschluss werden die Daten der DSN in der Registry-Datenbank gespeichert. ■ Die eingerichtete DSN steht anschließend für die Verwendung durch alle Programme dieses PC zur Verfügung. |
Verwendungs-Gruppen:Meist bieten ODBC-Manager an, die Datenquellen in Gruppen zu ordnen:Überlegen sie vor Einrichtung, ob sie eine Datenquelle für alle oder nur für bestimmte BenutzerInnen des betreffenden PC einrichten wollen. |
Gemeinsam nutzbare DSN's werden in den Gruppen "System" oder "PC" geführt, persönliche in der Gruppe "Benutzer". • Manche ODBC-Verbindungen schließen einander gegenseitig aus. • Richten sie daher im Zweifel nur DSN für alle AnwenderInnen ein. Sie erfordern den geringsten Aufwand und funktionieren am besten. |
|
Hier wird als Beispiel eine ODBC-(System)-Datenquelle für alle
PC-BenutzerInnen eingerichtet. ► Starten sie ein ODBC-Verwaltungs-Programm, z.B. odbcad32.exe ► Wählen sie Register "System-DSN": Im Fenster werden alle bereits eingerichteten DSN's mit ihren symbolischen DSN-Namen, und verwendeten Treibern angezeigt. ► Taste "Hinzufügen" richtet eine neue ODBC-Datenquelle (DSN) ein. |
![]() |
|
►
Das Fenster zeigt die Liste der installierten ODBC-Treiber. ► Wählen sie einen Treiber, der zu ihrem Daten-Angebot passt. ► Wenn sie den gewünschten Treiber nicht in der Liste finden, müssen sie ihn zuerst installieren. Falls er bereits korrekt installiert ist, können sie sich mit ODBC-Tricks weiterhelfen. ► Taste "Fertigstellen" führt zum nächsten Schritt: Die neu angelegte DSN wird nun mit Hilfe des gewählten Treibers konfiguriert. |
![]() |
|
Alle weiteren Hinweise unterscheiden sich je nach ODBC-Treiber. Jeder Typ von Datenquelle erfordert andere Angaben, um die Verbindung herzustellen. ► Geben sie einen beliebigen 'sprechenden' Namen und eine kurze Beschreibung für die neue ODBC-Datenquelle ein. |
►
Je nach Datenquelle müssen verschiedene Parameter eingestellt werden,
um eine Verbindung herzustellen. Beispiel MySQL-Treiber: Angaben zu Server (host), Datenbank, User, Passwort.
Beispiel Excel-Treiber:
Pfad zur Datei.
► Weiter mit Taste "OK" Nach Verlassen der ODBC-Verwaltung steht die DSN für alle Programme dieses PC zur Verfügung. |
LibreOffice:Um eine beliebige Datenquelle in LibreOffice oder OpenOffice zu verwenden, muss sie 'registriert' werden.Eine ODBC-Datenquelle muss daher zuerst als DSN angelegt und danach als OpenOffice-Datenquelle registriert werden. ► Menübefehl öffnet ein Verwaltungs-Fenster. |
► Klicken sie 'Neue Datenquelle' und wählen sie Register 'Allgemein' ► Vergeben sie im Feld 'Name' einen beliebigen Namen für die Datenquelle, am besten den gleichen wie für die ODBC-Datenquelle. ► Wählen sie Datenbanktyp = ODBC und klicken sie den daneben stehenden Button '...' ► Wählen sie eine ODBC-Datenquelle aus der angezeigten Liste aller verfügbaren DSN's. ► In Register 'Tabellen' kann man die verfügbaren Tabellen konbtrollieren und verwalten. |
ODBC-Tricks 1: Manuelle Bearbeitung der Registry |
|
|
Die ODBC-Verwaltung funktioniert auf manchen Win-Systemen nur teilweise
und fehlerhaft. Die Erfahrung zeigt, dass die Einrichtung neuer Datenquellen mühsam ist, dass jedoch einmal funktionierende DSNs stabil und zuverlässig arbeiten. |
♣ Tipp: Bevor sie die 'Low-Level'-Methoden dieses Absatzes anwenden, sollten sie versuchen, mit dem ODBC-Administrator zum Ziel zu kommen ! Die hier vorgestellte Methode ist riskant und nur letzte Alternative geeignet. |
|
ODBC-DSN's werden in der Windows Registry-Datenbank verwaltet.
Mit dem Programm regedit.exe haben sie Zugriff auf alle
Daten dieser System-Datenbank. Das ist nicht ganz einfach und vor allem für AnfängerInnen riskant (siehe rechte Seite). Jede Registry-Arbeit kann wahlweise manuell oder automatisch von einem Programm (Registry-Script) ausgeführt werden. |
Vorsicht: Durch Eingriffe in die Registry können sie Schaden an ihrem
Betriebssystem sowie an Programmen und Daten anrichten. Verwendung der Tipps
daher auf eigenes Risiko !
|
|
Voraussetzung:
Der Treiber für die gewünschte ODBC-Datenquelle ist korrekt installiert.
|
In diesem Beispiel wird der MySQL ODBC-Treiber verwendet, der vom Hersteller MySQL kostenlos geladen werden kann. |
|
►
Öffnen sie den Registry-Editor (regedit.exe) und
suchen sie den Schlüssel.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBCINST.INI
Hier finden sie die Liste aller installierten ODBC-Treiber
mit den speziellen Daten der jeweiligen Quelle.Der wichtigste Eintrag ist immer vorhanden: Ein String mit Name 'Driver', dessen Inhalt der Pfad zum betreffenden ODBC-Treiber ist. |
+ Wenn der gesuchte Treiber (z.B. für MySQL) korrekt installiert wurde,
finden sie ihn in dieser Liste als Schlüssel (key). ► Notieren sie den genauen Namen jenes Treibers, mit dem sie eine neue DSN erstellen wollen (hier: 'MYSQL ODBC 3.51 Driver'). - Falls nicht, laden sie den aktuellen Treiber vom Web des Herstellers und installieren ihn. |
| Windows kennt verschiedene Arten von ODBC-Datenquellen (DSN's): System-Datenquellen stehen für alle User eines Systems zur Verfügung. Sie sind am einfachsten in der Registry einzurichten. |
Die Erzeugung einer neuen ODBC-System-DSN erfordert 3 Schritte: Das Anlegen eines neuen Strings in einem vorhandenen Registry-Schlüssel (key), das Anlegen eines neuen Schlüssels und das Anlegen einer Text-Datei. |
|
►
Suchen sie in der Registry den Schlüssel
HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBC.INI \ ODBC Data Sources
oder legen sie diesen Schlüssel neu an.In diesem Schlüssel sind alle bereits vorhandenen System-DSN's als Strings (Zeichenketten) angelegt. |
►
Markieren sie den links bezeichneten Schlüssel und erstellen sie einen neuen
String für diesem Schlüssel
(Menü ). Der String-Name entspricht dem symbolischen Namen der gewünschten neuen Datenquelle (hier 'MySQLTest'), als Wert wird der genaue Name des Treibers (s.o.) eingetragen. |
|
►
Suchen sie in der Registry den Schlüssel
HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBC.INI
und markieren sie diesen Schlüssel.
|
►
Fügen sie einen neuen Schlüssel hinzu
(Menü ). Der Name des neuen Schlüssels entspricht dem symbolischen Namen der neuen Datenquelle, genauso wie im vorigen Absatz festgelegt (hier 'MySQLTest'). |
|
►
Erstellen sie zu dem soeben neu erstellten Schlüssel 2 Strings (Zeichenketten)
mit den Namen 'Driver' und 'Description'
(Menü ). ► Als Wert für 'Description' tragen sie einen beliebigen kurzen Beschreibungs-Text ein. |
►
Als Wert für 'Driver' tragen sie den Pfad zum
gewünschten ODBC-Treiber ein, genauso wie sie ihn in der Liste der
installierten ODBC-Treiber (s.o.) finden. In diesem Beispiel ist
Driver=C:\WINDOWS\system32\\myodbc3.dll
|
|
►
Schließen sie den Registry-Editor und öffnen sie den
ODBC-Administrator odbcad32.exe ► Wählen sie das Register 'System-DSN': In der Liste sollten sie die neu installierte Datenquelle (hier MySQLTest) finden. |
►
Markieren sie die DSN und klicken sie Button 'Konfigurieren'. Damit wechseln sie zum eingetragenen ODBC-Treiber, in diesem Beispiel zum MySQL-Treiber. Jeder Treiber öffnet ein spezifisches Konfigurations-Fenster, in welchem die für diesen Typ von Daten benötigten Parameter eingetragen werden. |
|
Im Normalfall können sie den ODBC-Treiber dazu verwenden, die
benötigten Registry-Daten einzutragen. Beispiel MySQL-Treiber:
Angaben über Server (host), Datenbank, User (Name), Passwort, Port (optional)
und SQL-Befehl (optional).Der MySQL-Treiber bietet als wertvollen Service noch einen Button 'Test Data Source'. Beispiel M$Excel-Treiber:
Pfad zu jener Excel-Datei, welche die Daten exportiert.
|
►
Wenn sie das Treiber-Fenster mit 'OK' beenden, dann ist damit die neue Datenquelle
fixiert und kann von allen Programmen dieses PC verwendet werden. In der Registry wurden vom Treiber alle für diese Datenquelle verwendeten Daten eingetragen. Dort können sie auch kontrolliert und verändert werden. Außerdem wird für jede DSN eine Text-Datei *.dsn mit den gleichen Daten angelegt. Details dazu s.u. |
User-Datenquellen:Analog werden User-DSN's eingetragen: ODBC-Datenquellen, die nur für bestimmte User verfügbar sind.Im Schlüssel HKEY_USERS
finden sie einen eigenen (codierten) Unter-Schlüssel für
jeden eingetragenen User.► Zunächst müssen sie die Zuordnung von Usercode und User herausfinden. Das kann z.B. mit Hilfe von ODBC-DSN's erfolgen: ► Legen sie im ODBC-Administrator eine User-DSN (Benutzer-DSN) eines beliebigen Treibers unter einem eindeutigen Namen an. ► Suchen sie in der Registry nach dem Namen der angelegten User-DSN. Sie finden den DSN-Namen in HKEY_USERS \ Usercode \ Software \ ODBC \
wobei Usercode durch den realen Code eines Users ersetzt ist.
|
► Wenden sie nun alle oben erwähnten Angaben statt für System-DSN's mit Schlüssel HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC
auf User-DSN's mit Schlüssel
HKEY_USERS \ Usercode \ Software \ ODBC \
an.► Bei Erfolg finden sie die neue User-DSN in der Liste 'Benutzerdatenquellen' des ODBC-Administrators. |
Kalkulation (Tabellen-Dokumente) |
|
Import nach M$Excel:► Markieren sie eine Zelle für den Daten-Import.Der Platz darunter sollte frei sein, damit bei Aktualisierung weitere Zeilen eingefügt werden können. ► Menübefehl . ► Das Fenster 'Datenquelle' wird geöffnet. Wählen sie Dateityp=ODBC-Datei DSNs Falls in der Liste keine ODBC-Datenquellen angezeigt werden: Suchen sie die Definition der ODBC-Datenquelle (System-DSNs im Verzeichnis C:\Programme\Gemeinsame Dateien\ODBC\Data Sources\*.dsn
User-DSNs im Verzeichnis
C:\Dokumente und Einstellungen\Name
► Markieren sie eine ODBC-Datenquelle und klicken sie OK Die Daten werden an der bezeichneten Stelle eingefügt. ► Die Verwaltung der importierten Daten erfolgt mit der Symbolleiste 'Externe Daten' Markieren sie eine beliebige Zelle im Datenbereich und wählen sie in der Symbolleiste das Symbol 'Datenbereichseigenschaften'. Hier kann u.a. die Art der Aktualisierung eingestellt werden. Mit Klick auf das Rufzeichen-Symbol wird sofort aktualisiert. |
Export aus MS-Excel:► Erstellen sie eine Tabelle der zu exportierenden Daten. Die Spalten müssen eindeutige Überschriften tragen.► Markieren sie die gesamte Tabelle und vergeben sie einen eindeutigen Namen: Menü Verwenden sie einen 'sprechenden' Namen. (Mit einem führenden Underline-Zeichen wird er vor allen anderen Namen angezeigt), z.B. _Excel_Personen ► Speichern sie die Excel-Datei... In der Datei kann jederzeit ein weiterer Export-Bereich hinzugefügt werden. Dazu genügt es, die neue Tabelle mit Überschriften zu erstellen und dafür einen anderen Namen zu vergeben. ► Legen sie mit dem ODBC-Administrator eine neue DSN an und verwenden sie dazu einen Excel-Treiber aus der Liste angezeigter Treiber. ► Konfigurieren sie die DSN: Der Treiber fragt lediglich nach dem Pfad zur gespeicherten Excel-Datei. ► Kontrollieren sie allenfalls, ob eine Textdatei *.dsn mit dem gleichen Namen wie die DSN angelegt wurde. In den ODBC-Tricks finden sie Hinweise, wie diese Datei manuell angelegt wird, falls sie fehlt. ► Die DSN kann nun von allen Programmen benutzt werden. Beim Import wird eine Liste aller in der Datei vergebenen Namen angezeigt. Deshalb ist es günstig, in der Export-Datei informative Namen zu verwenden, die in der Liste aller benannten Bereiche ganz oben angezeigt werden. |
Import nach LibreOffice oder OpenOffice:Das Programm stützt sich stark auf die Programmier-Sprache → Java. Deshalb funktioniert meist die Verbindung mit dem Java JDBC-Treiber besser als mit ODBC. Dieser Treiber muss installiert werden und arbeitet &au8ml;hnlich wie ODBC.► Richten sie zuerst eine ODBC Datenquelle (DSN) ein, so wie oben beschrieben. ► Danach wird die ODBC Datenquelle als OpenOffice Datenquelle registriert. Dazu wird eine Datenbank-Datei mit OpenOffice Base erstellt, mit der Datenquelle verknüpft und gespeichert. Danach können die Daten in OpenOffice (z.B. Calc) verwendet werden. ► Öffnen sie das Kalkulations-Programm OpenOffice-Calc. Markieren sie eine Zelle für den Daten-Import. ► Am einfachsten ist es, das Datenpilot-Fenster zu öffnen: Gewünschte Datenquelle auswählen: Durch Anklicken lassen sich die einzelnen Tabellen und Felder anzeigen. Durch Ziehen mit der Maus werden die Daten in die Kalkulation übertragen. |
Export von OpenOfficeWer OpenOffice verwendet, verarbeitet die Daten mit den Programmen dieses Pakets. Ein Export nach MS-Office ergibt daher keinen Sinn. ● Wenn beliebige Daten als PC-Datenbank in OpenOffice-Base gespeichert sind, dann können sie problemlos von allen anderen OpenOffice Programmen verwendet werden, z.B. von Calc für Berechnungen oder von Writer für Serienbriefe oder Etiketten. Typische AnwenderInnen von OpenOffice verwenden meist auch andere kostenfreie Programme, z.B. den professionellen Datenbank-Server → MySQL. In diesem Fall werden die Daten natürlich vom SQL-Server verwaltet und bei Bedarf in die OpenOffice-Programme importiert (links), niemals umgekehrt. |
Programmiersprachen |
|
| Alle gängigen Programmiersprachen unterstützen ODBC. Dafür steht meistens eine eigene Bibliothek (Modul, library) zur Verfügung. |
ODBC wird u.a. unterstützt von C++, Perl, PHP, VBA(NET, ASP), ... Java verwendet JDBC (eigene Treiber). |
Alternativen:Es gibt zahlreiche Möglichkeiten, Daten zwischen verschiedenen Quellen bzw. Programmen auszutauschen. Nur wenige davon sind unabhängig von Herstellern, Betriebssystemen und Versionen.XML erfüllt diese Forderungen derzeit und in absehbarer Zukunft am besten: XML verwendet darüber hinaus nur reinen Text und lässt sich an alle denkbaren Daten-Strukturen anpassen. |
Wenn sie ein einmaligers und spezielles Problem zu lösen haben, dann entscheiden rasche Verfügbarkeit und geringe Kosten die Wahl der Daten-Verbindung. Je weiter voraus sie planen, und je allgemeiner sie ein Problem lösen wollen, desto eher wird die Wahl der Verbindungs-Technik auf XML fallen: Damit machen sie sich bzw. ihre KundInnen von Herstellern und Produkten weitgehend unabhängig. |
|