[NEWSboard IBMi Forum]

Thema: SQL Abfragen

Hybrid View

  1. #1
    Registriert seit
    Nov 2003
    Beiträge
    2.428
    STRSQL oder STRQM (Auswahl 1)

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    2.049
    wir Entwickeln mit STRSQL und kopieren die 'guten' Stmt in ein PF-Src.
    Da haben wir Text was es ist und ein Datum wann zuletzt geändert wurde.

    ein User-Kürzel (bei uns SQ) führt das (die) Statement(s) aus.
    mehrere in einer Source, das einzelnde mit ; abschließen
    -- ist ein Kommentar

    Auch Fehler abfangen oder Datei Berechtigungen setzen findet in der Source statt.

    Schön übersichtlich und herrlich altbacken iSeries

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.791
    Und mit cl: kann man das auch noch mischen;-).
    Aber man kann auch SQL's mit ACS bauen, was viel effektiver ist und mit RDi dann in eine PF-SRC schreiben. So kannst du beide Welten mischen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.943
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Und mit cl: kann man das auch noch mischen;-).
    Aber man kann auch SQL's mit ACS bauen, was viel effektiver ist und mit RDi dann in eine PF-SRC schreiben. So kannst du beide Welten mischen.
    Es gibt aktuell wirklich keinen Grund mehr STRSQL zu verwenden.
    • Mit ACS - Run SQL Scripts kann man jedes beliebige SQL Statement ausführen.
    • Das SQL Skript kann wahlweise als PC-Datei, IFS-Datei oder klassisches Source Member gespeichert werden
    • PC-Dateien, IFS-Dateien und Source Member mit SQL können direkt in Run SQL Scripts geöffnet und anschließend ausgeführt werden.
    • CL-Commands können wahlweise mit vorangestelltem CL: oder mit Hilfe der Stored Procedure QCMDEXC (Aufruf über SQL CALL) ausgeführt werden.
    • Mehrere SQL Commands (außer SELECT) können mit Hilfe eines dynamischen Compound-Statements (also eingebettet in BEGIN und END) als Einheit ausgeführt werden. Innerhalb des dynamischen Compound Statements können u.a. auch Fehler abgefangen und behandelt werden.
    • Bedienerführung hat sich gewaltig gemausert und ist inzwischen wesentlich besser als was STRSQL liefert
    • Vorhandene SQL Statements können nach hinterlegten Regeln formatiert werden (z.B. auch auf 80 Zeichen umgebrochen werden). Die Regeln für die Formatierung sind aktuell noch etwas dürftig, aber ich weiß dass an dieser Stelle von Seiten der IBM an Erweiterungen und Verbesserungen gearbeitet wird.
    • Wurde ein SQL Skript geöffnet, können die einzelnen SQL Statements unabhängig von einander ausgeführt werden. Es ist allerdings auch möglich alle SQL Statements oder alle Statements ab einem bestimmten SQL Statement auszuführen.
    • SQL Skripte im IFS oder in Source Members können natürlich auch weiterhin auch mit RUNSQLSTM (z.B. aus einem CL-Programm, von der Befehlszeile oder aus PDM) ausgeführt werden.


    Ich arbeite i.Ü. auch noch klassisch, also speichere mir alle SQL Skripte (z.B. zum Erstellen von Datenbanken-Objekten) in Quellen-Teil-Dateien.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.791
    Ja alles korrekt, es läuft aber nicht auf der AS/400, ähm IBM i, sondern auf einem Client.
    Dafür muss ich das immer noch in eine SRC-PF speichern und per RUNSQLSTM ausführen.
    Bisher sehe ich da zumindest noch keine Angabe einer IFS-Datei.

    Den Aufruf von QCMDEXC sehe ich da schon kritisch, da man die Länge des SQL's eben vorher ausrechnen musst und als Zahlenfolge im Format 10.5 übergeben musst.
    Einfacher ist es da, einen Wrapper zu bauen, der ein VARCHAR(32K) erwartet und den QCMDEXC dann aufruft. Zumindest ich mache das so;-).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.943
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ja alles korrekt, es läuft aber nicht auf der AS/400, ähm IBM i, sondern auf einem Client.
    Dafür muss ich das immer noch in eine SRC-PF speichern und per RUNSQLSTM ausführen.
    Bisher sehe ich da zumindest noch keine Angabe einer IFS-Datei.

    Den Aufruf von QCMDEXC sehe ich da schon kritisch, da man die Länge des SQL's eben vorher ausrechnen musst und als Zahlenfolge im Format 10.5 übergeben musst.
    Einfacher ist es da, einen Wrapper zu bauen, der ein VARCHAR(32K) erwartet und den QCMDEXC dann aufruft. Zumindest ich mache das so;-).
    1. Würde ich Dir raten die aktuelle Version zu installieren, bevor Du behauptest, das etwas nicht geht. Wenn Du ACS - SQL-Sripts öffnest und dann versuchst eine "Datei" zu öffnen kannst Du zwischen PC/IFS und Source Member auswählen. Gleiches gilt beim Speichern.

    2. Ab und zu solltest Du Dir entweder mal die vorhandenen Objekte anschauen oder vielleicht auch mal in der Dokumentation nachlesen.
    QCMDESC ist (auch) eine Stored Procedure bei der der zweite Parameter (also die Länge) optional ist.
    ... und nicht nur das es gibt sogar eine QCMDEXC UDF.

    3. beim RUNSQLSTM kann man (inzwischen auch!!!) eine IFS-Datei angeben.

    Vielleicht solltest Du oder Deine Kunden mal langsam die V5 Release ersetzten.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.791
    Ich kann nur mit dem arbeiten, was die Kunden haben. Aktuell ist das V7R4.
    Für V7R5 bedarf es leider erst neuer Hardware und das kann sich eben nicht jeder Kunde sofort leisten.
    Dies gilt ebenso für Kunden, die immer noch auf V7R1 gut fahren und keine neue Hardware benötigen, da die immer noch z.T. überdimensioniert ist.
    Außerdem habe ich ja nur gesagt, dass ACS eben nicht auf der IBM i läuft, sondern per Java-VM auf einem Client und für die IBM i-Ausführung eben RUNSQLSTM nötig ist.
    Und persönliche Angriffe sind hier vollkommen fehl am Platz.

    Das ist wie mit dem Auto. Ein E-Auto ist zwar schön zu haben, aber man muss es sich leisten können.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Nov 2020
    Beiträge
    437
    Nicht, dass ich hier eure Sticheleien unterbrechen will, aber ein paar Cents werfe ich auch noch rein:

    * Die Möglichkeit im ACS mit SRC-PF oder IFS Sourcen zu arbeiten gibt es schon seit vielen Jahren.
    Braucht keiner also auf IBM i 7.5 dafür zu wechseln. Mal abgesehen, dass dies ein Feature vom ACS und nicht der IBM i ist. Einfach die aktuelle Version vom ACS herunterladen und man hat's bereits. (Oder halt eine Version verwenden die nicht 10 Jahre alt ist)
    Ausführen kann man das ja auch in diesem Tool (das war von Birgitta bezogen auf STRSQL).

    * Hauptsächlich für automatisierte Build der SQL Sourcen verwende ich den RUNSQLSTM.
    Auch hier kann man schon seit langem IFS Sourcen angeben.

    * ACS läuft im übrigen (teilweise) auch auf der IBM i.
    Man kann z.B. das Excel-Import Plugin über die Shell aufrufen lassen (halt ohne GUI).

    * Ich persönlich verwende lieber Tools wie DBeaver statt ACS.
    Dort kann ich mir die Sourcen viel besser organisieren und auch direkt zugreifen.
    U.a. können dort Daten auch direkt bearbeitet werden und die Vorschläge der Tabellen und Spaltennamen bei der Eingabe sind sehr schnell und kommen von selbst.
    Einzig für Visual Explain verwende ich den ACS.

Similar Threads

  1. Webservice per SQL abfragen
    By KM in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 04-11-22, 07:41
  2. Abfragen ob Delete(SQL) erfolgreich war
    By Dominic K. in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 01-02-18, 16:35
  3. Wechsel auf 7.1 - .net SQL-Abfragen jetzt langsam
    By Oli001 in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 21-11-14, 08:30
  4. SQL Anweisungen auf AS400 abfragen
    By Rene_M in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 29-01-14, 15:27
  5. SQL - Datum (8,0) drehen und abfragen
    By Peter Kosel in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 02-05-03, 14:33

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •