Here is my code to pick a file from my disk and insert it into the Oracle

-------------------------------------------
#!/usr/local/bin/perl -w

use DBI;
use Tk;

$mw=new MainWindow;

$dbh = DBI->connect( "DBI:Oracle:host=$host;sid=$sid", $username, $password)
                or die "Connecting : $DBI::errstrn ";



$filename=$mw->getOpenFile(-filetypes=>[['All files','*.*']]);

if($filename) {
    open(BLOB, $filename);

    my $blob=<BLOB>;
        close(BLOB);

        $stmt = $dbh->prepare("INSERT INTO hr.documents VALUES
('10','$filename',?)") || die "nPrepare error: $DBI::err .... 
                    $DBI::errstrn";

        $dbh->{LongReadLen} = 4 * 1024 * 1024; 

    $stmt->bind_param(1, $blob, {ora_type => 113} );

   $stmt->execute() || die "nExecute error: $DBI::err .... ";

        print STDERR "Complete.n";}
MainLoop;
------------------------------------------------------

and the error i always recieve is 

------------------------------------------------------
DBD::Oracle::st execute failed: ORA-01465: invalid hex number (DBD: oexec error
 at C:/progs/dika/blob/insert_blob_test.pl line 43.

Execute error: 1465 ....  at C:/progs/dika/blob/insert_blob_test.pl line 43.
Press Enter to continue
-------------------------------------------------------

Line 43 is    $stmt->execute() || die "nExecute error: $DBI::err .... ";



What am i doing wrong?

Reply via email to