








 |
WICHTIG! Die Antworten und Programme wurden nach bestem Wissen
und Gewissen erstellt. Der Autor übernimmt keine Gewährleistung
dafür, dass alle Tipps und Tricks einwandfrei funktionieren. Die Anwender
handeln auf eigene Gefahr. Bei eventuellen Datenverlusten oder
Beschädigungen besteht kein Haftungsrecht gegenüber dem Autor. Die
Antworten und Programme sind frei anwendbar, jedoch verbleibt das Copyright
beim Autor. Bei deren Weitergabe oder Veröffentlichung muss der
ursprüngliche Autor als solcher kenntlich gemacht werden. Externe
Beiträge sind jederzeit willkommen.
Seite << ·
1 · 2
- Wie lassen sich unter I-4GL
SQL-Befehle variabel gestalten?
- Eine Zusammenstellung
nützlicher INFORMIX-Scripts von Ingo Talg.
- Ich lasse unter SCO-UNIX
kompilierte INFORMIX-4GL-Programme mit dem IBCS2-Emulator auf Linux laufen.
Dabei wird die Startanwendung mittels "exec" direkt aus dem Login-Script des
Anwenders aufgerufen. Das Betätigen der Interrupt-Taste (z.B. CTRL-C) aus
der Anwendung heraus verursacht eine sofortige Beendigung der Login-Session.
Gibt es Abhilfe?
Seite << ·
1 · 2
[Seitenanfang]
11. Wie lassen sich unter I-4GL SQL-Befehle
variabel gestalten?
Durch Verwendung der Befehle "PREPARE" und 'EXECUTE' z.B.
Folgendes kleines Demo-Programm illustriert die Vielfältigkeit:
DATABASE irgendeineMensch MAIN DEFINE sqlStatement
CHAR(255) LET sqlStatement = "CREATE TABLE tabelle1 ( col1 INTEGER NOT
NULL);" PREPARE statementOne FROM sqlStatement EXECUTE statementOne
END MAIN Bei genauer Betrachtung fällt auf, dass die
Möglichkeiten (fast) unbegrenzt sind. Denkbar wäre z.B. ein Programm,
das in etwa einen SQL-Dialog wie "dbaccess" in abgespeckter Form simuliert,
zumal im o.a. Code der String "sqlStatement" ja flexibel zusammengesetzt werden
kann. Schade nur, dass Anweisungen wie "FOREACH" oder "FETCH" so nicht
verarbeitet werden können.
[Zurück
FAQ][Seitenanfang]
12. Eine Zusammenstellung nützlicher
INFORMIX-Scripts von Ingo Talg.
Ingo Talg hat hier
eine sehr gute und interessante Sammlung an INFORMIX-Scripts (insbesondere
INFORMIX-OnLine) zusammengestellt, basierend auf folgenden Quellen:
- Stefan Weideneder.
Weideneder Softwareentwicklung & Betratung u.a. im Bereich Informix.
- "INFORMIX OnLine Dynamic Handbook", Autor: Carlton Doe,
Prentice Hall Verlag, ISBN 0-13-605296-7.
- Ingo Talg
selbst.
- Irwin Goldstein(s.
Script).
Natürlich gilt auch hier wieder, dass für schadhafte
Anwendung oder Folgen der Programme und Scripts keine Gewährleistung oder
Haftung weder von den Autoren noch von mir übernommen wird (also:
Anwendung auf eigene Gefahr). Die Dateien sind hier dann auch
downloadbar (infscp.zip, 10 KB).
Im folgenden nun eine kurze Beschreibung mit Angabe der Kennziffer
für den Autor:
- wts.scr : (1.) Gibt eine
Wait-Statistik aus, aus der ersichtlich ist, warum Threads warten müssen,
und folglich, ob das OnLine System richtig konfiguriert ist. Voraussetzung ist
aber das der "undokumentierte"(!) Parameter WSTATS in der ONCONFIG auf 1
gesetzt bzw. eingetragen wird.
Wartezeiten können sein:
lock |
: warten auf Setzen von Sperren. |
checkpoint |
: warten auf Checkpoint. |
aio |
: warten auf I/O von pages |
buffer |
: warten auf bestimmten Puffer Zugriff |
mt yield 0 |
: warten auf anderes Ereignis = busy wait |
running |
: aktiv = idealer Zustand |
mt ready |
: warten in ready queue |
mt yield n / mt yield |
: warten auf Kommunikation mit front-end |
- checkon: (2.) Gibt eine
schöne Übersicht der UNIX-Prozesse und Threads des USERS. Aufruf:
checkon <user_name>
- where_ar: (2.) Zeigt eine genaue
Übersicht der Extents einer Tabelle, auf welchem DbSpace die Tabelle
liegt und ob die Tabelle fragmentiert ist. Das ganze läuft aber nur gut,
wenn das OnLine System "relativ" ist ( ab ca. 10 GB 8 min Laufzeit) Achtung:
Programm sperrt die entsprechende Tabelle exklusiv in sysmaster!
- tablock.sql: (3.) Zeigt auf
welcher Tabelle gerade Sperren gehalten werden.
- sperre1.sql: (3.) Zeigt welcher
user sperrt
- chk_tabl: (2.) Ähnlich eines
"oncheck -pT", zeigt alles über eine Tabelle.
- chk_dbsp: (2.) Sehr schönes
Tool. Ein Administrator sollte dieses in seine "profile" schreiben! Zeigt an,
wie viel Platz man noch in seinen DbSpaces hat.
- onlocks.sh: (4.) Zeigt alle
Sperren an, auf welcher Tabelle, was für eine Sperre, owner der
Sperre.
- onact.sh: (4.) Zeigt die gerade
wirklich aktiven Threads an
[Zurück
FAQ][Seitenanfang]
13. Ich lasse unter SCO-UNIX kompilierte
INFORMIX-4GL-Programme mit dem IBCS2-Emulator auf Linux laufen. Dabei wird die
Startanwendung mittels "exec" direkt aus dem Login-Script des Anwenders
aufgerufen. Das Betätigen der Interrupt-Taste (z.B. CTRL-C) aus der
Anwendung heraus verursacht eine sofortige Beendigung der Login-Session. Gibt
es Abhilfe?
Ja. Die Lösung findet man allerdings nicht, wie sich
vielleicht vermuten lässt, im Umdefinieren der Interrupt-Taste (z.B.
mittels "stty"), sondern in dem Weglassen des Exec-Aufrufs. Das Handling der
Interrupt-Taste war schon in einigen Versionen des IBCS2-Emulators ein
verzwicktes Problem der Entwickler und könnte in den aktuellsten Versionen
durchaus schon behoben worden sein. Ansonsten sollte ein ".profile" (oder
Ähnliches) folgendermaßen aussehen (Teilausschnitt): #
Vorher: exec irgendeinProgrammaufruf: irgendeinProgrammaufruf #
War vorher nicht vorhanden oder exit 1: exit 0
[Zurück
FAQ][Seitenanfang]
Seite << ·
1 · 2 |