Thread: help transfer ring blobs using perl

help transfer ring blobs using perl

From
omkar prabhu
Date:
i am using postgres 7.0.3
and also postgres 7.2.1

I am new towards using blobs,I want to transfers
records with blobs from a table to different
database(postgres) using
perl without extracting the blob to disk(i.e without
using lo_export/lo_import).

Below is my perl script which is not working can
anybody help in this.


$rest = $conn->exec("begin");
$stmt="select * from image ;";
$result = $conn->exec($stmt);
if ( $result->resultStatus ne PGRES_TUPLES_OK )
{
die $conn->errorMessage unless PGRES_TUPLES_OK eq
$result->resultStatus;
}
$n=$result->ntuples;
print "\n Number of Processes Scheduled    $n \n";

while ( @row=$result->fetchrow)
{
  $fld=$row[0];
  $fd=Pg::lo_open($conn,$fld,"r");
  if ( $fd )
  {
   $buf="";
   Pg::lo_read($conn,$fd,$buf,20000);
  }
  Pg::lo_close($conn,$fd);

  $foid=Pg::lo_creat($conn,"w");
  $fdw=Pg::lo_open($conn,$foid,"w");
  Pg::lo_write($conn,$fdw,$buf,20000);
  Pg::lo_close($conn,$foid);
  $stmt="insert into photo values($foid)";
  $resi = $conn->exec($stmt);

  if ( $resi->resultStatus ne PGRES_COMMAND_OK )
   {
     die $conn->errorMessage unless PGRES_TUPLES_OK eq
$resi->resultStatus;
   }



}

$rest = $conn->exec("end");




__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/