[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Feb 2011
    Beiträge
    48

    BLOB Feld aus SQL-Tabelle ins IFS übertragen

    Hallo Forum,

    wie kann ich ein BLOB-Feld aus einer SQL-Tabelle ins IFS übertragen.
    (Das BLOB-Feld enthält eine .PDF Datei, die ich öffnen möchte)

    Viele Grüße
    GJV23

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ich behaupte mal:
    Auf dem umgekehrten Weg wie du es gespeichert hast.
    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
    Feb 2011
    Beiträge
    48
    Die Tabelle wird mit einem Fremdprogramm und einem Scanner befüllt.
    Wie das genau funktioniert weiss ich nicht.

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Wir machen das mit einem RPG-Programm. Meinst du das?
    Dieter

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Per ILERPG und den IFS-API's.
    Wenn die Anwendung aber vorsieht, dass Dokumente als BLOB gespeichert werden, sollte diese auch die Extraktion derselben vorsehen.
    Da muss doch dann schon was existieren.

    Ansonsten musst du tatsächlich mit den IFS-API's experimentieren. Hier ist ggf. darauf zu achten, dass keine Codewandlung durchgeführt wird, da das Dokument wahrscheinlich schon in ANSI ist.
    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
    Feb 2011
    Beiträge
    48
    Ja das meine ich.
    Gibt es dazu evtl. ein Musterprogramm ?

    Josef

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Hier mal die wichtigsten Stellen aus unserem Programm:

    Code:
         
    D IFSFile         S                   SQLTYPE(BLOB_FILE)                   File Ref Var
    D FILE_OVERWRITE  C                   CONST(16)
    D FILE_APPEND     C                   CONST(32)
    
    
          * Die in den D-Anweisungen definierte FileReference-Variable wird vom
          * Pre-Compiler in eine Struktur umgesetzt. Diese Struktur enthält die
          * notwendigen Angaben zur Blob-Verarbeitung:
         C                   EVAL      IFSFile_name = %trim(file)
         C                   EVAL      IFSFile_NL = %len(%trim(IFSFIle_name))       NameLength
         C                   EVAL      IFSFile_DL = 0                               DataLength
         C                   EVAL      IFSFile_FO = FILE_APPEND                     FileOption
    
    
                exec sql select bl_blob into :IFSFile from myLib/myFile
                             where bl_rec_id = :Record_ID;
    Dieter

  8. #8
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Am besten probierst du das mit dem obigen Code mal aus. Wir hatten bei uns noch das Problem, dass die IFS-Datei, die aus dem Blob gebildet wurde, nicht den richtigen Zeichensatz hatte. Wir haben das dann so gelöst, dass wir zunächst eine leere IFS-File mit dem gewünschten Zeichensatz erstellt haben und das Blob dann in diese leere Datei geschrieben haben.

    Dieter

  9. #9
    Registriert seit
    Feb 2011
    Beiträge
    48
    Guten Morgen Dieter (dschroeder)

    Vielen Dank für deine Hilfe. Hat bestens funktioniert !
    Mir waren diese RPGLE-SQL-Feinheiten neu.

    Schöne Grüße aus Tirol
    Josef

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    In den Neuerungen ist das auch nicht dokumentiert. In den aktuellen SQL/RPG-PDF's gibt's da auch keine Hinweise.
    Man kommt da von selber eigentlich gar nicht drauf.
    Im http://www-01.ibm.com/support/knowle...1/welcome.html kann man das finden, wenn man gezielt danach sucht.
    Ich habe auch erst hier im Forum davon gelesen.
    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

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    In den Neuerungen ist das auch nicht dokumentiert. In den aktuellen SQL/RPG-PDF's gibt's da auch keine Hinweise.
    Diese Erweiterungen sind schon uralt.
    Die spärlichen Informationen dazu findet man im Embedded SQL-Handbuch.

    Zu dem Thema habe ich allerdings mehrere Artikel einmal für den TechKnowLetter und zum anderen für iProDeveloper (beides leider kostenpflichtig) verfasst.

    Birgitta
    Birgitta Hauser

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

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Schön, folgendes habe ich daraufhin im SQL-Programmierhandbuch gefunden:
    Run the following INSERT statement multiple times with different values of the HV_EMAIL_FILE until
    you have stored all your e-mail:
    EXEC SQL BEGIN DECLARE SECTION
    SQL TYPE IS BLOB_FILE HV_EMAIL_FILE;
    EXEC SQL END DECLARE SECTION
    strcpy (HV_EMAIL_FILE.NAME, "/u/mail/email/mbox");
    HV_EMAIL_FILE.NAME_LENGTH = strlen(HV_EMAIL_FILE.NAME);

    SQL TYPE IS XML AS BLOB_FILE <hostvar_name> to define a BLOB file that contains XML data internally encoded.
    HV_EMAIL_FILE.FILE_OPTIONS = 2;

    EXEC SQL INSERT INTO ELECTRONIC_MAIL
    VALUES (CURRENT TIMESTAMP, :hv_email_file);

    Das ist alles an Dokumentation?
    Also ich lese mir gerne Handbücher durch. In den aktuellen SQL-PDF's stehen ja auch die Neuerungen bzgl. Partition-Funktionen. Warum also nicht auch für sowas?

    Wie gesagt, Online kann man es finden, wenn man es kennt.
    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

Similar Threads

  1. Rechenformeln aus Tabelle ?
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 20-01-14, 13:40
  2. Blob-Handling
    By infomio in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 28-03-03, 17:46
  3. Blob-Felder anlegen
    By infomio in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 25-03-03, 12:30
  4. Typ DATE in SQL-Tabelle
    By Melanie in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 13-02-03, 11:30
  5. EXCEL-Tabelle auf AS/400
    By Steven in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 25-10-02, 11:32

Tags for this Thread

Berechtigungen

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