RE: (DBD ERROR: LOB refetch attempted for unsupported statement t ype)

2002-04-11 Thread Mathew Varghese

OSP:

PROCEDURE Add_GFS_cmpdocs (
FIN_C   IN  VARCHAR2,
ACCT_OU_C   IN  VARCHAR2,
COUNTRY_ISO3_C  IN  VARCHAR2,
DOCNAME_N   IN  VARCHAR2,
DOCFILE_X   IN  BLOB,
UPDATED_BY_CIN  VARCHAR2,
Error_Num   OUT NUMBER,
Error_Msg   OUT VARCHAR2)
IS
DOCID_R NUMBER(4);
BEGIN
SELECT MAX(GFSA08_DOCID_R) + 1
INTO DOCID_R
FROM MGFSA08_cmpdocs;

IF DOCID_R IS NULL THEN
   DOCID_R := 1;
END IF;

INSERT INTO lpdevl.MGFSA08_cmpdocs
(GFSA08_DOCID_R,
 ACCT_FIN_C,
 ACCT_OU_C,
 COUNTRY_ISO3_C,
 GFSA08_DOCNAME_N,
 GFSA08_DOCFILE_X,
 GFSA08_UPDATED_BY_C,
 GFSA08_UPDATE_S)
VALUES (
 DOCID_R,
 FIN_C,
 ACCT_OU_C,
 COUNTRY_ISO3_C,
 DOCNAME_N,
--   '',
 DOCFILE_X,
 UPDATED_BY_C,
 SysDate);

 Error_Num := 0;
 Error_Msg := 'Success';
 return;

EXCEPTION
WHEN OTHERS THEN
  Error_Num := SQLCODE;
  Error_Msg := SUBSTR(SQLERRM, 1, 100);
END Add_GFS_cmpdocs;



Perl Code:
sub addGlobalDocs
{
my( $acct_fin_c, $acct_ou_c, $country_iso3_c, $gfsa08_docname_n, 
$in, $u
serid) = @_;
my @dbHandle;
my $sql, $csr;
my $err_num = "";
my $err_msg = "";
Insert Blob from Server
  my $ua = new LWP::UserAgent;
  $ua->timeout(1);
  $url = "http://webdev.globalfleetsolutions.ford.com/images/test.pdf";;
  my $curl = url("http");
  my $forms = new CGI;
  my $req = new HTTP::Request 'GET', $url;
  if ( $response->is_success)
  if ( $response->is_success)
  {
$PDF_BLOB = $response->content;
$dbHandle[1]->{LongReadLen} = length($PDF_BLOB) + 1024;
  }
# END ##
$sql  = "BEGIN 
gfs.gfs_sp_package_x.add_gfs_cmpdocs(:1,:2,:3,:4,:5,:6,:,
:8); END;";

@dbHandle = &openGFSDb();
return "Error" if (! $#dbHandle );
$dbHandle[1]->{LongReadLen} = length($PDF_BLOB) + 2048;
$dbHandle[1]->{LongTruncOk}=1;
$csr = $dbHandle[1]->prepare ($sql) || die $csr->errstr;
my %attrib = ();
$attrib{'ora_type'} = 24;
$csr->bind_param(1,$acct_fin_c);
$csr->bind_param(2,$acct_ou_c);
$csr->bind_param(3,$country_iso3_c);
$csr->bind_param(4,$gfsa08_docname_n);

  $csr->bind_param(5, $PDF_BLOB, {ora_type => ORA_BLOB}  );

$csr->bind_param(6,$userid);
$csr->bind_param_inout(7,\$err_num,100);
$csr->bind_param_inout(8,\$err_msg,1000);

$err_num = "";
$err_msg = "  ";
$cnt = $csr->execute () || "Execute failed : $DBI::errstr";
print "Count1: $cnt";
$cnt = $csr->finish () || "Finish failed : $DBI::errstr";
print "Count2: $cnt";

#   $cnt = $dbHandle[1]->commit || "Commit failed : $DBI::errstr";
print "Count3: $cnt";


if ($dbHandle[0] == 1) { $dbHandle[1]->disconnect;}
}

sub openGFSDb
{
my ($user,$password,$database,$dbh,$drv);
my (@ret_results);

$drv = 'Oracle';
#if ("apollo" eq $ENV{"SERVER_NAME"}) {
#  $user = 'fleet@orcl';
#  $password = 'fleet';
#  $database = '';
#}
$user = 'XXX';
$password = 'XXX';
$database = 'eccdb39_mssp7.world';
#$database = '19.5.38.97';
$database = 'eccdb8_mssdevl.world';
if ( $ENV{"SERVER_NAME"} eq "webdev.globalfleetsolutions.ford.com" )
{
  $database = 'eccdb8_mssdevl.world';
}
else
{
  $database = 'eccdb39_mssp7.world';
}
if ($dbh = DBI->connect($database,$user,$password,$drv))
{
#$dbh->{AutoCommit} = 0;
push(@ret_results, 1);
push(@ret_results, $dbh);
}
else
{
$error = $module_name . " " . $DBI::errstr;
print "Unable to open the database, $database; user, $user 
(ORACLE_HOME
$ENV{'ORACLE_HOME'} ) in module $module_name due to the following error: " . 
$DB
I::errs push(@ret_results, 0);
}

return(@ret_results);
}


>From: "Sterin, Ilya" <[EMAIL PROTECTED]>
>To: 'Mathew Varghese ' <[EMAIL PROTECTED]>, "'[EMAIL PROTECTED] '"  
><[EMAIL PRO

(DBD ERROR: LOB refetch attempted for unsupported statement type)

2002-04-11 Thread Mathew Varghese

(DBD ERROR: LOB refetch attempted for unsupported statement type)

This is the error i am getting while i try to insert BLOB into Oracle 8 from 
Perl5V6 through OSP.
Even though i am getting this error, OSP is inserting a row into Oracle 
except for the BLOB field.

I also tried inserting it directly (without using OSP) it works perfect.
But for some reason i need to make the OSP work, any information regarding 
this is appreciated.

Thanks
Mathew

_
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com