I encountered the same problem that you are seeing with your fetch:
"ORA-03115:
        unsupported network datatype or representation (DBD: odescr failed)
at clobtest"  To solve this, I installed the newest client version of Oracle
which I assume also installed the latest oracle drivers and was able to
select the data back. 

Bob Reuss

> -----Original Message-----
> From: Baranitharan Santhanagopalan
> [SMTP:[EMAIL PROTECTED]]
> Sent: Thursday, April 26, 2001 1:33 AM
> To:   [EMAIL PROTECTED]
> Subject:      problems in inserting clob data using DBI Perl
> 
> 
> hello,
>   im using DBI::VERSION 1.6 and DBD::ORACLE::VERSION 0.59  on perl
> 5.0005_05 under AIX.
> i tried to insert a data of large size into a oracle table  which has
> field of clob data_type.
> i encounter error like "Error : Insert Error ORA-01461: can bind a LONG
> value only for insert into a LONG column (DBD: oex )"
> 
> #!/usr/local/bin/dbiperl
> use DBI;
> use DBD::Oracle qw(:ora_types);
> use ebi_db;
> #connection estabilished with oracle
> $MainDBHandle->{LongReadLen}=64000;
> $MainDBHandle->{LongTruncOk}=0;
> open(FILE,"< clobdata.txt") || die ("Open Error");
> while(<FILE>)
> {
> $tempval.=<FILE>;
> }
> close(FILE);
> $insertCursor=$MainDBHandle->prepare("insert into clob_test_table
> (clob_fld_id,clob_fld_value) values (?,?)");
> $insertCursor->bind_param(1,1);
> $insertCursor->bind_param(2,$tempval,{ora_type=>ORA_CLOB,ora_field=>clob_f
> ld_value});
> $insertCursor->execute(1,$tempval);
> if (defined $DBI::err && $DBI::err != 0) {
>                 die("Insert Error $DBI::errstr \n");
> }
> $insertCursor->finish();
> if (defined $DBI::err && $DBI::err != 0) {
>                 die("Finish Error $DBI::errstr \n");
> }
> #Connection disconnected .
> 
> Environment:AIX.
> DBI::VERSION-1.06
> DBD::Oracle - 0.59.
> Perl 5.0005_05
> 
> while trying the fetch the clob data i encountered error like "ORA-03115:
> unsupported network datatype or representation (DBD: odescr failed) at
> clobtest"
> 
> #!/usr/bin/perl
> use ebi_db;
> use DBI;
> use DBD::Oracle qw(:ora_types);
> 
> DBI->trace(3, "test.out");
> &DatabaseLogin();
> if (defined $DBI::err && $DBI::err != 0) {
>                 die("Login Error $DBI::errstr \n");
> }
> $MainDBHandle->{LongTruncOk} = 1;
> $MainDBHandle->{LongReadLen} = 64000;
> my $sql = "SELECT clob_fld_value FROM clob_test_table";
> my $sth = $MainDBHandle->prepare($sql) or die $DBI::errstr;
> $sth->execute or die $DBI::errstr;
> my (@data) = $sth->fetchrow or die $DBI::errstr if $DBI::err;
> my $blob = '';
> my $lump = 4096; # use benchmarks to get best value for you
> my $offset = 0;
> while (1) {
> my $frag = $sth->blob_read(0, $offset, $lump);
> die $DBI::errstr if $DBI::err;
> last unless defined $frag;
> my $ll = length $frag;
> last unless $ll;
> $blob .= $frag;
> $offset += $ll;
> }
> print $blob;
> $sth->finish;
> 
> Please help/suggest.what could be done or this version of DBI supports
> xLOBs etc.
> 
> Thanks in advance
> 
> barani
> 
> 
> 
> 
> --
> 
> This e-mail may contain confidential and/or privileged information. If you
> are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and destroy this e-mail. Any
> unauthorised copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.

Reply via email to