.

SQuirreL SQL Client als Client für Oracle-DBMS |

Marc hatte unter meinem letzten Blogeintrag (Oracle-ODBC-Zugriff für Debian und Ubuntu) das Datenbanktool “SQuirreL SQL” empfohlen.

Die Featurebeschreibung liest sich gut, also ging’s gerade direkt in die Testphase.

Das Programm ist in Java programmiert, ist somit weitestgehend Betriebssystem-unabhängig einsetzbar, und dank JDBC-Schnittstelle sind auch alle Datenbanken ansprechbar, für die ein entsprechender Treiber existiert.

Bei mir kommt naturgemäß nur ein Debian-Derivat als Basis in Frage, in diesem Fall musste Ubuntu 8.04 (Hardy Heron) dran glauben.

Die Installation ist schnell über

$ java -jar squirrel-sql-2.6.5a-install.jar

erledigt, beim anschließenden Aufruf von squirrel-sql.sh startet der Client auch schon.

Da ich auf meinem System bereits ein ODBC-DSN zu meiner Oracle-Datenbank eingerichtet hatte, und der entsprechende Treiber als einziger in SQuirreL SQL schon zur Verfügung stand, versuchte ich zunächst, die “JDBC-ODBC-Bridge” als Verbindungselement zu benutzen.

Als URL für den Datenbank-Alias TEST trug ich “jdbc:odbc:test” ein, der mit dieser Einstellung durchgeführte Verbindungsversuch zur Oracle-Testinstanz wurde positiv beschieden.

Ich konnte auch eine Sitzung mit dieser Konfiguration aufrufen. SQuirreL lud alle Schemes, Tables und weiteren Bestandteile der DB-Instanz und öffnete das Sitzungsfenster. Doch alle weiteren Versuche, auf der Datenbank zu arbeiten, wurden mit Fehlern, wie:

  • Error: [unixODBC][Driver Manager]Driver does not support this function
  • TEST: [unixODBC][Driver Manager]Connnection does not exist
  • oder

  • Das Laden des JDBC-Treibers “{0}” ist fehlgeschlagen.
    Das Eigenschaftenregister konnte nicht geladen werden.
  • quittiert.

    Und weil ich nicht wirklich ein Faible für Java habe, und mich mit den Exceptions nicht weiter auseinandersetzen wollte, entschied ich mich für die sowieso sinnvollere Alternative, den “Oracle OCI-Treiber” einzurichten.

    Und so funktioniert’s:

    Download der Dateien

  • “instantclient-basic-linux32-10.2.0.3-20061115.zip” und
  • “instantclient-jdbc-linux32-10.2.0.3-20061115.zip”
  • von oracle.com.

    Die entpackten Dateien habe ich nach nach “~/SQuirreL SQL Client/lib/oracle/” geschoben.

    Das Startscript squirrel-sql.sh benötigt eine kleine Erweiterung:

    # Squirrel home
    SQUIRREL_SQL_HOME=’/home/stefan/SQuirreL SQL Client’

    # stpe - Patch starts here
    LD_LIBRARY_PATH=$SQUIRREL_SQL_HOME/lib/oracle:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH

    Die Bibliotheken aus der existierenden Oracle-XE-Client-Installation funktionierten mit den eben heruntergeladenen Jar-Dateien übrigens nicht, da diese in Version 10.2.0.3 vorliegen, das Debian-Paket des XE-Clients aber nur in 10.2.0.1 zu haben ist. Benutzt man die “alten” Libraries, stürzt Squirrel SQL reproduzierbar mit Fehlermeldungen, wie:

    # An unexpected error has been detected by Java Runtime Environment:
    #
    # SIGSEGV (0xb) at pc=0×9e875776, pid=8838, tid=2677013392
    #
    # Java VM: Java HotSpot(TM) Server VM (10.0-b22 mixed mode linux-x86)
    # Problematic frame:
    # C [libclntsh.so.10.1+0x327776]

    ab.

    In der Treiberkonfiguration des Datenbank-Tools trug ich die heruntergeladenen Jar-Dateien als alternativen “Class Path” ein:

    squirrel_oci_treiber.jpg

    Jetzt war der Treiber benutzbar, die damit angelegte Verbindung “jdbc:oracle:oci8:@ora_tst:1529/test” funktionierte fehlerfrei:

    squirrel_sitzung_01.jpg

    squirrel_sitzung_02.jpg

    Vielen Dank von dieser Stelle aus nochmal an Marc, ich werde das Tool bei den nächsten Arbeiten am DBMS auf jeden Fall intensiver unter die Lupe nehmen.

    2 Antworten zu 'SQuirreL SQL Client als Client für Oracle-DBMS'
    1. rtauchnitz:

      SQuirrel ist schon einsame Klasse, kann aber manchmal auch ein klein wenig lahm sein und Ressourcen fressen. Aber alles in allem einsame Spitze.

    2. Yet another Linux Blog » Blog Archive » unixODBC spielt nicht mit Oracle:

      [...] SQuirreL SQL Client als Client für Oracle-DBMS ·  unixODBC spielt nicht mit Oracle | 12. Mai [...]

    Eine Antwort eintragen

    *benötigt

    *benötigt / nicht sichtbar

    Kalender
    Mai 2008
    M D M D F S S
     1234
    567891011
    12131415161718
    19202122232425
    262728293031 
    Ereignisse
      • Keine Termine.
    Kategorien
    Archiv
    Wichtiges!?

    .