Home
What's new?
Q&A/FAQ
Kontakt/Information
Kritik
Umfrage
Links
Inhalt/Sitemap
  Mit ICRA gekennzeichnet
INFORMIX® Q&A (2)

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

  1. Wie lassen sich unter I-4GL SQL-Befehle variabel gestalten?
  2. Eine Zusammenstellung nützlicher INFORMIX-Scripts von Ingo Talg.
  3. 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: 

  1. Stefan Weideneder. Weideneder Softwareentwicklung & Betratung u.a. im Bereich Informix.
  2. "INFORMIX OnLine Dynamic Handbook", Autor: Carlton Doe, Prentice Hall Verlag, ISBN 0-13-605296-7.
  3. Ingo Talg selbst.
  4. 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


[Home] [News] [Q&A/FAQ] [Info] [Kritik] [Umfrage] [Links] [Inhalt] []
Letzte Änderung: (Copyright © )