.

Oracle-ODBC-Zugriff für Debian und Ubuntu

An meinem Lenny-Arbeitsplatz benutze ich sqlplus aus dem “Oracle Database 10g Express Client“, um Abfragen auf unseren Oracle-Datenbanken (9i) durchzuführen.

Bei der Einrichtung hatte ich seinerzeit viel zu basteln, deswegen freute ich mich nicht richtig auf die Aufgabe, auf einem Ubuntu-Client den Zugriff auf die Oracle-DB via UnixODBC einzurichten, um dort ein kleines Auswertungs-Tool programmieren zu können.

Aber es war garnicht so schlimm ;)

Grundlage für die Installation war ein aktuelles Ubuntu 8.04 (Hardy Heron). Nach der Installation des o.g. Express Client von Oracle aus dem auf der dortigen Webseite angebotenen Debian-Paket, tauchte im Anwendungsmenü sofort ein Link zu SQL*Plus auf.

Nach dem Aufruf des Programms war über:
connect user/passwort@server:port/sid
die Verbindung sofort aufgebaut.

oracle_sqlplus.jpg

Herrlich :)

Jetzt zur Zitterpartie ODBC - die sich im Übrigen als nicht wirklich kompliziert herausstellte, wenn man denn fertige Ini-Dateien als Muster hat …

Als Grundlage werden eigentlich nur die Pakete unixodbc und unixodbc-bin benötigt.

Das zugehörige Tool ODBCConfig stellte sich dann jedoch quer, als es um die Anlage von Treiber und DSN ging und stellte wiederholt mit der Meldung:

ODBCConfig: ltdl.c:3104: try_dlopen: Assertion `filename && *filename’ failed.
Aborted

seinen Dienst ein.

Aber zum Glück lassen sich die Konfigurationsdateien auch händisch pflegen.

Dabei sollte die /etc/odbcinst.ini so aussehen:
[Oracle10g]
Description = Oracle 10g ODBC Driver
Driver = /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libsqora.so.10.1
Driver64 =
Setup =
Setup64 =
UsageCount = 1
CPTimeout =
CPReuse =

Auf diese Weise ist der Oracle-Treiber schon einmal verfügbar.

Jetzt zur DSN, die sich entweder als System-DSN unter /etc/odbc.ini befindet, oder unter selbigem Namen als User-DSN im eigenen Homeverzeichnis Platz findet:
[TEST]
Application Attributes = T
Attributes = W
BatchAutocommitMode = IfAllSuccessful
BindAsFLOAT = F
CloseCursor = F
DisableDPM = F
DisableMTS = T
Driver = Oracle10g
DSN = TEST
EXECSchemaOpt =
EXECSyntax = T
Failover = T
FailoverDelay = 10
FailoverRetryCount = 10
FetchBufferSize = 64000
ForceWCHAR = F
Lobs = T
Longs = T
MetadataIdDefault = F
QueryTimeout = T
ResultSets = T
ServerName = ora_tst:1529/test
SQLGetData extensions = F
Translation DLL =
Translation Option = 0
DisableRULEHint = T
UserID = testuser
StatementCache=F
CacheBufferSize=20

Und nachdem man “/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/” in seine ld.so.conf aufgenommen, und den Cache mit ldconfig erneuert hat, steht einer Oracle-Verbindung über ODBC (beispielsweise mit dem DataManagerII) nichts mehr im Wege:

oracle_odbc_datamanager.jpg

Bleibt mir nun “nur” noch die Programmiererei.


Stylesheet-Fehler behoben

Eeeeeeeeewig hat’s gedauert, aber da ich sowieso gerade am Blog ‘rumbastel, habe ich einen Fehler behoben, der mir (und auch einigen Bloglesern) schon lange auf die Nerven ging.

Denn standardmäßig ersetzt Wordpress zwei Minuszeichen durch einen Gedankenstrich, macht also aus “- -” ein “–”.

Das nervt nicht nur, sondern verursacht, gerade in Shellscripten, auch Fehler und Missverständnisse.

Wem es ähnlich geht, der öffne die Datei wp-includes/formatting.php und suche dort nach “$static_replacements”. Die ersten drei Array-Elemente enthalten den Übeltäter.

Weitere Darstellungsfehler werde ich bei der gerade in Arbeit befindlichen Komplettrenovierung des Layouts berichtigen.


Kalender
Mai 2008
M D M D F S S
 1234
567891011
12131415161718
19202122232425
262728293031 
Ereignisse
    • Keine Termine.
Du listest gerade die Beiträge für den 10. Mai 2008.
Kategorien
Archiv
Wichtiges!?

.