In diesem Kapitel werden ODBC-Tests für folgende Datenbank-Management-Systeme vorgestellt:
Für den Test wird die MySQL-Datenbank `test` verwendet und als DB-Benutzer `root` mit dem Passwort `LocalAdminPW8!`. Es wird eine Abfrage für die DB-Tabelle `test` in der Datenbank `test` ausgeführt.
hans@pc-a-mint20:~$ isql -v dsn_my_mysql root LocalAdminPW8! +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> SHOW DATABASES; +-----------------------------------------------------------------+ | Database | +-----------------------------------------------------------------+ | information_schema | | mysql | | performance_schema | | sys | | test | +-----------------------------------------------------------------+ SQLRowCount returns 5 5 rows fetched SQL> USE test; SQLRowCount returns 0 SQL> SELECT nachname, email FROM test WHERE nachname LIKE "%an%" ORDER BY nachname; +--------------------------+-------------------------------+ | nachname | email | +--------------------------+-------------------------------+ | Erdmann | ernesto.e@freenet.de | | Kranich | khkranich@kranich.net | | Xanter | x.y.jolle@freenet.de | | Zander | zeno.zack@web.de | +--------------------------+-------------------------------+ SQLRowCount returns 4 4 rows fetched SQL> QUIT hans@pc-a-mint20:~$
Um den Test durchführen zu können müssen Sie in der Konfigurationsdatei ~/.odbc.ini noch folgende Erweiterung mit erhöhten Rechten vornehmen:
hans@pc-a-mint20:~$ sudo xed ~/.odbc.ini
[dsn_pg_test] Description = PostgreSQL UTF8 DB `postgres` Driver = PostgreSQL Unicode Servername = localhost Port = 5432 User = test Password = test Database = test ReadOnly = No
Vergessen Sie nicht, die geänderte Konfigurationsdatei ~/.odbc.ini für den PostgreSQL-Server neu einzulesen:
sudo /etc/init.d/postgresql reload
Für den Test wird die PostgreSQL-Datenbank `test` mit der DB-Tabelle `test` verwendet und der DB-Benutzer `test` mit dem Passwort `test`, das ja bereits in der Konfigurationsdatei hinterlegt ist. Daher müssen Sie es nicht angeben. Es wird nur eine Abfrage ausgeführt.
hans@pc-a-mint20:~$ isql -m24 dsn_pg_test test +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> SELECT datname FROM pg_database; +------------------------------------------------+ | datname | +------------------------------------------------+ | postgres | | template1 | | template0 | | test | +------------------------------------------------+ SQLRowCount returns 4 4 rows fetched SQL> SELECT nachname AS "Nachname", email AS "EMail-Adresse" FROM test where nachname LIKE '%an%' ORDER BY nachname; +-------------------------+-------------------------+ | Nachname | EMail-Adresse | +-------------------------+-------------------------+ | Kranich | khkranich@kranich.net | | Xanter | x.y.jolle@freenet.de | | Zander | zeno.zack@web.de | +-------------------------+-------------------------+ SQLRowCount returns 3 3 rows fetched SQL> QUIT hans@pc-a-mint20:~$
Hinweis: Erfolgreich wird man mit PostgresSQL nur auf zwei Arten:
Für den Test wird auf das Kapitel '22.9.2.4 Test der ODBC-Konfiguration – SQLite' verwiesen, weil dort bereits ein ausführlicher Test durchgeführt wurde.
Der Einsatz von ODBC klingt verlockend, setzt aber immer ein Programm voraus, dass odbc-fähig für das vorgesehene DBMS ist. So ist es für das Text-Programm Writer von LibreOffice® möglich, über die ODBC-Schnittstelle auf SQLite-Datenbanken zuzugreifen, um damit zum Beispiel bei einem Serienbrief die Anschriften aus einer DB-Tabelle auszulesen.