Ankündigung

Einklappen
Keine Ankündigung bisher.

Jetzt bin ich hier angekommen : BLOB hochladen auf Oracle DB

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Jetzt bin ich hier angekommen : BLOB hochladen auf Oracle DB

    Hallo,

    habe mich von den Amateuren hier hochgearbeitet.

    Folgendes Problem : Ich muss eine generierte PDF Datei in eine Oracledatenbank hochladen.

    Ich habe auf der Oracleseite eine Beispieldatei gefunden die das gut erklärt.

    Code:
    <?php
    
            //
            // Sample form to upload and insert data into an ORACLE CLOB column
            // using PHP's Oracle 8 API.
            //
            // Based on http://www.php.net/manual/en/functio...descriptor.php
            // modified to work on CLOBs and use register_globals = Off.
            //
            // Before running this script, execute these statements in SQL*Plus:
            //   drop table myclobtab;
            //   create table myclobtab (c1 number, c2 clob);
            //
            // Tested with PHP 4.3.3 against Oracle 9.2
            //
    
            if (!isset($_FILES['lob_upload'])) {
            ?>
    
            <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data">
            Upload file: <input type="file" name="lob_upload">
            <input type="submit" value="Upload">
    
            </form>
    
            <?php
            }
            else {
    
              $myid = 1; // should really be a unique id e.g. a sequence number
    
              $conn = OCILogon('secret', 'secret', 'secret');
    
              // Delete any existing CLOB so the query at the bottom
              // displays the new data
    
              #$query = 'DELETE FROM MYCLOBTAB';
              #$stmt = OCIParse ($conn, $query);
              #OCIExecute($stmt, OCI_COMMIT_ON_SUCCESS);
              #OCIFreeStatement($stmt);
    
              // Insert the CLOB from PHP's temporary upload area
    
              $lob = OCINewDescriptor($conn, OCI_D_LOB);
              $stmt = OCIParse($conn, "INSERT INTO \"tblArchiv\" (\"AR_Objekt\") VALUES(EMPTY_BLOB()) RETURNING \"AR_Objekt\" INTO :C2");
              OCIBindByName($stmt, ':C2', $lob, -1, OCI_B_BLOB);
              OCIExecute($stmt, OCI_DEFAULT);
    
              // The function $lob->savefile(...) reads from the uploaded file.
              // If the data was already in a PHP variable $myv, the
              // $lob->save($myv) function could be used instead.
              if ($lob->savefile($_FILES['lob_upload']['tmp_name'])) {
                OCICommit($conn);
                echo "CLOB successfully uploaded\n";
              }
              else {
                echo "Could not upload CLOB\n";
              }
              $lob->free();
              OCIFreeStatement($stmt);
    
    
              OCILogoff($conn);
            }
            ?>
    Dieses Script funktioniert.

    Ändere ich aber jetzt das script so das er nur noch
    die datei vom Server nehmen muss und in die DB
    packen soll also :
    Code:
    if ($lob->savefile($_FILES['lob_upload']['tmp_name'])) {
    in

    Code:
    if ($lob->savefile("a.pdf")) {
    so entsteht nur ein leerer Eintrag in der DB.

    Jemand eine Idee woran das liegen kann ?
    * * * * COMMODORE C64 BASIC V2 * * * *
    64K RAM SYSTEM 38911 BASIC BYTES FREE
    READY


  • #2
    Auch hier sind die selben Beantworter.
    Nutzloser cross-post.

    http://www.phpfriend.de/forum/ftopic47765.html
    http://www.phpfriend.de/forum/ftopic48750.html

    Kommentar


    • #3
      ?

      Warum dann die differenzierung ?
      * * * * COMMODORE C64 BASIC V2 * * * *
      64K RAM SYSTEM 38911 BASIC BYTES FREE
      READY

      Kommentar


      • #4
        PHP - Anfänger
        Noch keine oder wenig Erfahrung mit PHP? Dann ist dieses Board das Richtige
        PHP - Fortgeschrittene
        Erfahrene PHP'ler können hier Ihr Wissen austauschen, Hilfe anfordern und andere unterstützen.
        PHP - Profis
        PHP Profis können sich hier nach Belieben mit Gleichgesinnten austauschen!

        Bist du ein Profi?

        Gruß
        phpfan

        Kommentar


        • #5
          Verstehen tu ich es nicht.

          Mein Problem wurde weder im Anfänger noch im Fortgeschrittenen Bereich
          gelöst.

          Geht es also darum wie ich mein Wissen einschätze und nicht darum wie
          das Problem einzuschätzen ist ?

          Es ist doch logisch das sich im Anfänger Forum eher die Anfänger aufhalten usw.

          Wenn ich davon ausgehe, dann halten sich im Fortgeschrittenen Forum die Fortgeschrittenen auf und im Profi Forum die Profis.

          Dann habe ich doch alles Richtig gemacht. Habe im Anfängerforum keine Lösung bekommen es dann im Fortgeschrittenen Forum weiter geführt und bin nun im Profi Forum.

          Ist diese Vorgehensweise nicht korrekt, so frage ich mich warum gefragt wird ob ich Profi bin.

          Wenn diese Vorgehensweise nicht korrekt ist und sich jeder halt überall aufhält, warum dann die differenzierung ?

          Gruss,

          Werner
          * * * * COMMODORE C64 BASIC V2 * * * *
          64K RAM SYSTEM 38911 BASIC BYTES FREE
          READY

          Kommentar


          • #6
            Mein Problem wurde weder im Anfänger noch im Fortgeschrittenen Bereich gelöst.
            Und hier sind genau die selben Benutzer. Es bringt also nichts, das selbe Problem hier auch nochmal anzusprechen. Es macht das Forum nur unübersichtlicher und -wenn sich Antworten überschneiden- auch für Dich chaotischer.

            Kommentar


            • #7
              Geht es also darum wie ich mein Wissen einschätze und nicht darum wie
              das Problem einzuschätzen ist ?
              Es geht um beides. Und was glaubst du, wie wenig sinnvoller Antworten im Anfänger-Forum geschrieben würden, wenn da wirklich nur Anfänger lesen und schreiben würden?

              Gruß
              phpfan

              Kommentar


              • #8
                Hm, ja mag wohl sein.

                Nichts desto trotz habe ich bis heute keine Lösung für mein Problem.

                Vieleicht deshalb die "Verzweiflungstat".

                Kann doch nicht sein das in diesem großen Forum mir keiner helfen kann.

                Wenn dem so ist, würde ich die Admins bitten diesen Thread zu löschen.

                Gruss,

                Werner
                * * * * COMMODORE C64 BASIC V2 * * * *
                64K RAM SYSTEM 38911 BASIC BYTES FREE
                READY

                Kommentar


                • #9
                  Der Beitrag wurde geschlossen, wegen...
                  ... Doppelpostings.
                  ... offensichtlichem Fehlens von Oracle-Kennern in diesem Forum.

                  closed
                  mod = master of disaster

                  Kommentar

                  Lädt...
                  X