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
21.05.2025
|