[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Thema: DDS --> SQL

Hybrid View

  1. #1
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Falls eure RPG-Programmem mit Satzformatnamen arbeiten: Wie legt ihr diese Satzformatnamen in SQL fest?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    CREATE TABLE .... RCDFTM 'FORMATNAME'

    Da eine LF, die mit CREATE INDEX erstellt wurde, auch per Native-IO in RPG gelesen werden kann, muss hier der Formatname per RENAME im RPG festgelegt werden.
    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

  3. #3
    Registriert seit
    Jul 2003
    Beiträge
    338

    Cool

    Was ist denn eigentlich der entscheidende Vorteil, wenn DDS-Dateien geändert werden in SQL-Tabellen ?

    Bei Zugriff aus RPG-Programmen vermutlich kein Vorteil ??

    Bei Zugriff über Embedded SQL ? evtl. bessere Zugriffszeit ?

    In DDS-Quellen sind Dateien nach meiner Meinung zuindest besser zu dokumentieren.

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Performance Unterschiede im realen Betrieb alle unter der Messbarkeitsgrenze.
    Schritt in Richtung Standardisierung ist wohl das Ausschlag gebende, bleibt allerdings ohne Umorientierung weg von RLA ohne Wirkung.
    Insgesamt ist Programmierung mit SQL statt mit RLA vom Gesichtspunkt Aufwand und Leistung (Transaktionssicherheit etc.) im Vorteil, da SQL mehr Möglichkeiten bietet.
    Wenn man die Vorteile wirklich zum tragen bringen will, brauchts da einen Umdenkungsprozess, reine Kosmetik hilft da nix und schadet oft!

    D*B

    Zitat Zitat von loeweadolf Beitrag anzeigen
    Was ist denn eigentlich der entscheidende Vorteil, wenn DDS-Dateien geändert werden in SQL-Tabellen ?

    Bei Zugriff aus RPG-Programmen vermutlich kein Vorteil ??

    Bei Zugriff über Embedded SQL ? evtl. bessere Zugriffszeit ?

    In DDS-Quellen sind Dateien nach meiner Meinung zuindest besser zu dokumentieren.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Oct 2004
    Beiträge
    251
    Zitat Zitat von loeweadolf Beitrag anzeigen
    Was ist denn eigentlich der entscheidende Vorteil, wenn DDS-Dateien geändert werden in SQL-Tabellen ?
    [+]
    Naja, im "Optimalfall" (alles über SQL) hat man keine Sorgen mehr mit dem Levelcheck und ist wesentlich flexibler bei Dateiänderungen.

    [+]
    Die Problematik verwendet die neue SQL-Engine meine alten DDS-Zugriffswege - entfällt.

    [+]
    Joins und where-Conditions sind DDS-Joindateien nicht gerade der Hit (Felder anführen, nicht so mächtig wie SQL).

    [+]
    Zu überlesende Sätze (laut Parameter) werden mit SQL schneller überlesen.

    [+/-]
    Optimiert wird nur nich die SQL-DB-Engine! Minus deshalb, da nicht alle hier von der neuen Engine überzeugt sind...

    ABER:
    [-]
    Bei Einzel-Lesenoperationen ist SQL mMn langsamer.

    [--]
    Statt einer Zeile für eine Dateioperationen werden es viele Zeile (SQL-Statement). In Summe hat man dann größere Programme.

    Datenbanklastige Applikationen mit purem SQL will sich eigentlich keiner antun - egal in der welcher Programmiersprache. Je nach Entwicklungsumgebung gibt es da verschiedene Erleichterungsmöglichkeiten (OO, Persitenzframeworks, GUI-Componenten mit Databinding...) - in RPG/Cobol gibt da allerdings keine.

    Wie Dieters schon angesprochen hat: Es kommt auf das Gesamtkonzept an. Eine 3GL-Anwendung auf SQL umzustellen, macht zwar etwas flexibler, wird mit viel SQL-Code erkauft.

    Ich würde das eher für den "letzten Rest 3GL" in Betracht ziehen (z.B. ein Preisfindungsmodul), aber nicht als alleiniges Rezept zur Modernisierung verstehen.

    /Robert

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    im wesentlichen mit den Kernpunkten einverstanden.
    Aber im Vergleich RPG/Cobol mit Index sequentiellem Zugriff versus embedded SQL in RPG/COBOL (und darum gings in der Frage) würde ich das ein wenig anders akzentuieren:
    - ISAM mit RLA braucht weniger Ressourcen (mit Hardware überkompensierbar!)
    - Mengen orientierter Zugriff per SQL (alles in ein SQL Statement oder View packen, dann sequentiell über den Cursor!) schlägt ISAM per RLA in jeder Hinsicht um Längen!
    - bei Java etc. bin ich wieder bei Dir, da kann man weit über SQL hinausgehen und befindet sich dann bereits "Jenseits von SQL" (s o habe ich mal einen Vortrag zu diesem Thema genannt).

    D*B

    Zitat Zitat von RobertPic Beitrag anzeigen
    ABER:
    [-]
    Bei Einzel-Lesenoperationen ist SQL mMn langsamer.

    [--]
    Statt einer Zeile für eine Dateioperationen werden es viele Zeile (SQL-Statement). In Summe hat man dann größere Programme.

    Datenbanklastige Applikationen mit purem SQL will sich eigentlich keiner antun - egal in der welcher Programmiersprache. Je nach Entwicklungsumgebung gibt es da verschiedene Erleichterungsmöglichkeiten (OO, Persitenzframeworks, GUI-Componenten mit Databinding...) - in RPG/Cobol gibt da allerdings keine.

    /Robert
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Oct 2004
    Beiträge
    251
    Zitat Zitat von BenderD Beitrag anzeigen
    Aber im Vergleich RPG/Cobol mit Index sequentiellem Zugriff versus embedded SQL in RPG/COBOL (und darum gings in der Frage) würde ich das ein wenig anders akzentuieren:
    Ja, das habe ich etwas zu "stark vereinfacht" bzw. zu ungenau. Mit Einzelread meinte ich wirklich nur eine Leseoperation (keine Sequence), also z.B. die Bankbezeichnung aufgrund einer Bankleitzahl dazulesen. Die im SQL zu verhinderten n+1 Reads sind mit RPG/Cobol weniger dramtisch.

    Aber sobald es um mehrer Daten geht (eben auch einzeln per cursor) hat man mit SQL die Nase vorn.

    Noch ein Nachtrag zu SQL:
    Mit zunehmender Normalisierung der Datenbanken wird der konventionelle (RPG/Cobol, pures SQL) Weg auch immer mühsamer, da immer mehr Joins für das gleiche Ergebnis notwendig sind (im Vergleich zu weniger normalisierten Daten).

    /Robert

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da gibts dann immer noch FETCH 1 ROW ONLY oder, wenn der Schlüssel (durch Integrität) tatsächlich eindeutig ist, kann ich mir den Cursor sparen und einen SELECT INTO verwenden, und der ist auch nicht langsamer als ein CHAIN/READ INVALID.
    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

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    genau dieser Einzelzugriff ist aber nicht SQL like, der gehört per Join (besser noch per View) in einen Join im Cursor rein. Die ganze Normalisierung gehört im View Layer (soweit möglich) wieder denormalisiert!
    Die Grenze findet das erst im Update (deshalb Datenbankzugriffsmodule, die das dann wieder auflösen) und bei verzweigten Objektbäumen, die sich nicht immer als flache Relation darstellen lassen.

    D*B

    Zitat Zitat von RobertPic Beitrag anzeigen
    Mit Einzelread meinte ich wirklich nur eine Leseoperation (keine Sequence), also z.B. die Bankbezeichnung aufgrund einer Bankleitzahl dazulesen.
    /Robert
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Jul 2003
    Beiträge
    338

    Cool

    Wenn jemand seine Anwendungen (RPG) nicht grundlegend überarbeiten will, dann kann ich aus den Antworten auf meine Fragestellung (DDS/SQL) keinen Grund erkennen, warum die Tabellen von DDS auf SQL umgestellt werden solten.

    Auch ohne Umstellung können DDS-Dateien ja auch bei Bedarf mit SQL bearbeitet werden.

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... ich fühle mich da durchaus richtig interpretiert. Ich würde aber vehement empfehlen alles, was man neu macht, nach neuem Standard zu entwickeln. Sprich: weg von RLA und DDS zu SQL. Sobald man sich in der neuen Denke heimisch fühlt, wird man auch einiges, was man ändert umstellen und alles was Läuft, das läuft: never run a achanging system.

    D*B

    Zitat Zitat von loeweadolf Beitrag anzeigen
    Wenn jemand seine Anwendungen (RPG) nicht grundlegend überarbeiten will, dann kann ich aus den Antworten auf meine Fragestellung (DDS/SQL) keinen Grund erkennen, warum die Tabellen von DDS auf SQL umgestellt werden solten.

    Auch ohne Umstellung können DDS-Dateien ja auch bei Bedarf mit SQL bearbeitet werden.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Oct 2004
    Beiträge
    251
    BenderD
    genau dieser Einzelzugriff ist aber nicht SQL like, der gehört per Join (besser noch per View) in einen Join im Cursor rein.
    Ja das ist schon klar wie man das mit SQL macht. Ist eigentlich noch ein Grund gegen eine Umstellung. Für die optimale Performance genügt es nicht einfach die Dateioperationen 1:1 umzusetzen, sondern mehrere READ's per Join zusammenzufassen.

    Fuerchau
    und einen SELECT INTO verwenden, und der ist auch nicht langsamer als ein CHAIN/READ INVALID.
    Mein Eindruck wahr eher "gefühlt" als gemeesen (drum auch mMn). Die n+1 Problematik dürfte wohl eher bei JDBC/ODBC (wg. Netzerkoverhead) zum Problem werden.

    Was noch bleibt, ist, dass bei SQL die Felder noch gemappt werden müssen. Zumindest in Cobol gibt es kein Mapping, da wird der ganze Record verschoben (auch wenn's Müll ist).

    @loeweadolf
    Ein paar Vorteile (Datei ändern ohne Levelcheck, gleiche Indexe für RPG und SQL) gibt es schon - aber keiner rechtfertigt (für sich alleine) eine Umstellung.

    /Robert

Similar Threads

  1. Umstellung von DDS auf SQL
    By bie-dro in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 14-09-07, 14:17
  2. Befehl zum Konvertieren DDS in SQL
    By deni87991 in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 31-08-06, 12:05
  3. SQL -> CREATE VIEW
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 17
    Letzter Beitrag: 11-05-06, 14:57
  4. QUERY --> SQL
    By redsky in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 17-10-05, 11:23
  5. MS Sql Server + iSeries -> Verbindungsserver
    By reraru in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 20-04-05, 13:07

Berechtigungen

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