Blobupload in Oraclebank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Blobupload in Oraclebank

    Hallo,

    habe folgende Sorge.

    Habe auf dem Server eine PHP Datei generiert.
    Diese Datei MUSS ich jetzt als Blob in die Datenbank pumpen.
    Habe lange gesucht und habe auf der Oracle Seite folgenden Code gefunden :

    PHP-Code:
    <?php 

            
    // 
            // Sample form to upload and insert data into an ORACLE CLOB column 
            // using PHP's Oracle 8 API. 
            // 
            // Based on [url]http://www.php.net/manual/en/function.oci-new-descriptor.php[/url] 
            // 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($connOCI_D_LOB); 
              
    $stmt OCIParse($conn"INSERT INTO "tblArchiv" ("AR_Objekt") VALUES(EMPTY_BLOB()) RETURNING "AR_Objekt" INTO :C2"); 
              
    OCIBindByName($stmt':C2'$lob, -1OCI_B_BLOB); 
              
    OCIExecute($stmtOCI_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); 
            } 
            
    ?>
    Dieser Code dienst Dazu Files Upzuloaden und dann in die DB zu pumpen.

    Aber das File liegt ja auf dem Server also habe ich den Code umgeändert.

    aus :
    PHP-Code:
    if ($lob->savefile($_FILES['lob_upload']['tmp_name'])) { 
    habe ich

    PHP-Code:
    if ($lob->savefile("a.pdf")) { 
    Und der Kladeradatch für den Fileupload habe ich gelöscht.

    Jetzt bekomme ich aber nur einen leeren Eintrag. und das Blobfeld ist leer.

    Jemand eine Idee ?

  • #2
    Re: Blobupload in Oraclebank

    deja vu ...

    *trash*
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X