[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Nov 2005
    Beiträge
    59

    SQLRPGLE kein Update nach Umstellung auf V7R1

    Moin, moin,

    nach der der Umstellung von V6R1 auf V7R1 zeigen sich Probleme mit einigen SQLRPGLE-Programmen. Schreiben funktioniert nach wie vor, aber beim Update -> passiert nichts, auch keine Fehlermeldung.

    Hier der Code:
    Code:
         C/EXEC SQL
         c+ update DFERBUN
         c+      set dfstat = :erstat, dflock = :erlock,
         c+          dffa = :erfa,
         c+          dfkto = :##kton, dfname = :p0ktbz,
         c+          dfktkr = :erktkr, dfbr = :erbr,
         c+          dferdm = :ererdm, dfsh = :ersh,
         c+          dfefeu = :erefeu, dfwg = :erwg,
         c+          dfkurs = :erkurs, dfefku = :erefku,
         c+          dfwgeh = :erwgeh, dflern = :erlern,
         c+          dfsb = :$$sb, dfeukz = :ereukz,
         c+          dfeunr = :ereunr, dfift1 = :erift1,
         c+          dfift2 = :erift2, dfaeus = :eraeus,
         c+          dfaews = :eraews, dfaetm = :eraetm,
         c+          dfbust = :erbust, dfbunr = :erbunr,
         c+          dfjp = :erjp,
         c+          dfzbd = :erzbd, dfnetg = :ernetg,
         c+          dfvltg = :ervltg, dfskp1 = :erskp1,
         c+          dfskt1 = :erskt1, dfskp2 = :erskp2,
         c+          dfskt2 = :erskt2, dfskp3 = :erskp3,
         c+          dfskt3 = :erskt3, dfesrn = :eresrn,
         c+          dfbgts = :erbgts, dfbgt1 = :erbgt1,
         c+          dfbgt2 = :erbgt2, dfbdm = :erbdm,
         c+          dfbsh = :erbsh, dfefeb = :erefeb,
         c+          dfbuwg = :erbuwg, dfbuks = :erbuks,
         c+          dfbuku = :erbuku, dfbueh = :erbueh,
         c+          dfscc = :erscc, dfhk = :erhk,
         c+          dfpljp = :erpljp, dfsusd = :ersusd,
         c+          dfkoz = :erkoz, dfersl = :erersl,
         c+          dferst = :ererst, dfefsk = :erefsk,
         c+          dfbsl = :erbsl, dfbst = :erbst, dffill = :erfill,
         c+          dfbgjt = :##bgjt, dfefjt = :##efjt, dfaejt = :##aejt,
         c+          dffljt = :##fljt, dfvljt = :##vljt, dffujt = :##fujt,
         c+          dfskj1 = :##skj1, dfskj2 = :##skj2, dfskj3 = :##skj3
         c+      where dfbgnr = :erbgnr
         C/END-EXEC
    Wenn ich das Programm im Debug, SQL-Ausgabeansicht, laufen lasse, werden alle Felder korrekt gefüllt angezeigt! Es erscheint keine Fehlermeldung, aber das Update hat nicht stattgefunden.

    Mit DSPJOBLOG bekomme ich folgendes zusehen:
    Code:
    2 > call ndms995r '000079700232369'               
        ODP wiederverwendet.                          
        ODP nicht gelöscht.                           
        Eingebettetes SELECT beendet.                 
        ODP wiederverwendet.                          
        ODP nicht gelöscht.                           
        Wert für Spalte oder Variable DFNAME zu lang.
    Aktuell fällt mir nu nichts mehr ein.

    Vielleicht hat ja jemand noch eine Idee wo ich ansetzen kann! Danke!!


    Gruß

    Andreas

  2. #2
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Hallo,

    wie sieht's mit Commit-Steuerung aus?

    Gruß,
    KM

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    " Wert für Spalte oder Variable DFNAME zu lang" ist eine eindeutige Fehlermeldung!
    Du bekommst sicherlich einen negtiven SQLCOD.

    Scheinbar ist die Prüfung auf korrekte Werte in V7R1 verschärft worden.
    Vergleiche die Definition von DFNAME mit dem Inhalt von p0ktbz.
    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
    Jun 2009
    Beiträge
    319

    Wink

    chgcmddft cmd(crtsqlrpgi) newdft('commit(*NONE)')

  5. #5
    Registriert seit
    Nov 2005
    Beiträge
    59
    Moin, moin,

    den (Fehler)hinweis gabs schon immer; hatte aber keine negativen Auswirkungen.

    Ich werde die Programme ändern und dann kurzes Statement geben.

    Danke für den Hinweis!

    Andreas

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Vielleicht gibts da ja eine Option zum automatischen abschneiden (kenne ich allerdings nicht).
    Die andere Variante ist ggf. die, dass das Abschneiden von Leerzeichen ja nur als Warnung ausgegeben wird, da dies unkritisch ist (außer bei VARLEN-Feldern).
    Aber vielleicht ist die nun zu speichernde Information nun auch nach dem Abschneiden der Leerzeichen immer noch zu lang.
    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

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Mich würde trotz allem der SQLCODE nach dem Update interessieren. Dann könnte man genaueres zu der Ursache sagen.

    Birgitta
    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

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Dschainers Beitrag anzeigen
    chgcmddft cmd(crtsqlrpgi) newdft('commit(*NONE)')
    Das kann auch nur derjenige machen, der a. die richtige Berechtigung hat und b. Herr auf der Maschine ist.

    Meine Kunden würden mir was husten, wenn ich einen System-Befehl ändern würde.

    Besser ist es auf alle Fälle (zumindest wenn ohne Commit gearbeitet wird) in alle Quellen ein entsprechendes SET OPTION-Statement einzubinden.

    Dann braucht man sich auch nach einem Release-Wechsel keinen Kopf mehr darum zu machen.

    Birgitta
    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

  9. #9
    Registriert seit
    Jun 2009
    Beiträge
    319
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Das kann auch nur derjenige machen, der a. die richtige Berechtigung hat und b. Herr auf der Maschine ist.

    Meine Kunden würden mir was husten, wenn ich einen System-Befehl ändern würde.

    Besser ist es auf alle Fälle (zumindest wenn ohne Commit gearbeitet wird) in alle Quellen ein entsprechendes SET OPTION-Statement einzubinden.

    Dann braucht man sich auch nach einem Release-Wechsel keinen Kopf mehr darum zu machen.

    Birgitta

    War ja nur ein Hinweis, wie man das dann umsetzt, bleibt ja jedem selber überlassen

  10. #10
    Registriert seit
    Jul 2011
    Beiträge
    14
    leerzeichen abschneiden sollte kein problem sein und auch keine fehlermeldung hervorrufen.
    Die Fehlermeldung klingt eher als wäre der tatsächliche Inhalt zu lang!
    Das Update wird dann auch nicht ausgeführt

    eine lösung:
    Code:
    dfname = substr (:p0ktbz, 1, length (dfname))
    commit sollte natürlich auf *NONE sein

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das mit dem commit hätte ich nicht erwähnt. Dies liegt in der Art der Anwendung ob Commit=*none oder commit <> *none nötig ist.

    PS:
    Und sich auf die Art der Fehlerbehandlung zu verlassen, dass diese mit dem nächsten Release auch noch gilt, ist sträflicher Leichtsinn.
    Hättest du dich bei V6 (oder früher) schon darum gekümmert hättest du die Probleme jetzt nicht .
    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

  12. #12
    Registriert seit
    Nov 2005
    Beiträge
    59

    GELÖST

    Moin, moin,

    so vielen Dank für die vielen Antworten, Anregungen und erhobenen Zeigefinger.

    Das Problem ist mit der Beseitung des Feldlängenfehlers behoben.

    Der SQLCOD war -404

    Ich/wir geloben Besserung bei Achtung von Warnhinweisen.

    Nochmals Danke an alle.

    Andreas

Similar Threads

  1. SQL Update aus zwei Dateien mit 3 Schlüsselfeldern
    By mk in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 13-07-12, 08:53
  2. ODBC update
    By synus in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-10-06, 15:38
  3. Update Syntax SQL
    By wuwu in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-07-06, 15:31
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. Update via ODBC
    By mdhl in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 18-05-06, 13:27

Berechtigungen

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