Volltextsuche Druckansicht Zurück Weiter
Inhalt Bedienung Befehle Beispiele  
Objektbefehle
Log-Liste
Einfache Befehle
Schnittstellen
ASCII-Schnittstelle
COM-Schnittstelle
ODBC-Schnittstelle
Oracle-Schnittstelle
GUI-Befehle

2. 4. 4   ORATCL

SYNTAX

Über die Tcl-Oracle-Schnittstelle Oratcl können Oracle-Datenbanken adressiert werden. Um die Oracle-Schnittstelle zu nutzen, muss die Datenbank in der tnsnames.ora eingetragen sein. Weiterhin muss das Package Oratcl eingebunden werden (liegt der Simulationssoftware bei):

package require Oratcl

Die nachfolgend angeführten Befehle sind nicht vollständig. Eine Dokumentation der Schnittstelle befindet sich hier.

Befehle

oralogon userId/password@dbName
Anmeldung an die Datenbank. Der Rückgabewert des Befehls ist das Objektkommando handleCmd, das zur weiteren Adressierung benötigt wird. Der String dbName ist dabei das in der tnsnames.ora hinterlegte Schlüsselwort für die Datenbank.
 
oraopen handleCmd

Öffnen der Datenbankverbindung. Der Rückgabewert des Befehls ist das Objektkommando cursorCmd, das zur weiteren Adressierung benötigt wird.

oraclose cursorCmd
Schließen der Datenbankverbindung.

oralogoff handleCmd

Abmeldung von der Datenbank.
 
orasql cursorCmd sql
Anmeldung der SQL-Anweisung sql am Server. Bei falscher Syntax in sql wird eine Fehlermeldung, andernfalls 0 zurückgegeben. Um die Anweisung auszuführen, muss oraexec aufgerufen werden.
 
oraexec cursorCmd
Ausführung einer zuvor mittels orasql angemeldeten SQL-Anweisung. Bei erfolgreicher Ausführung wird 0 zurückgegeben. Das Ergebnis von Select-Anweisungen kann über orafetch ausgelesen werden.
 
orafetch cursorCmd -datavariable varCmd
Speichert in der Variablen varCmd die erste Zeile des Ergebnisses einer zuvor durch oraexec ausgeführten SQL-Anweisung. Bei erfolgreicher Ausführung (Rückgabewert 0) wird diese Zeile aus dem Speicher entfernt und der Cursor auf die nächste Zeile gesetzt. Es wird 1 zurückgegeben, wenn das Ergebnis keine Zeilen (mehr) enthält.
Beispiel:
orasql myCursor "select * from ALL_TABLES"
oraexec myCursor
set result ""
while {[orafetch myCursor -datavariable nextline] == 0} {
  lappend result $nextline
}

 

simcron MODELLER 3.4
Copyright © 2025 simcron
27.02.2025