On 11/02/2011 12:33 PM, tran...@commerceinsurance.com wrote:
Never tried that myself but I do not see any reason why it should
not work. As long as the $record is correctly formatted.
To start try this on the prepare
$DBH-prepare(
"BEGIN".$record."END;"
);
That might do the trick.
Without seeing the original SQL it will be hard to give you a 100%
answer.
Cheers
John Scoles
I'm sorry in advance
if this is not the
correct forum/mechanism to ask this question - I have been
googling this
for a while, as well as re-reading all of the CPAN man page for
DBD-Oracle.
I need to pass a physical file(
or the
contents of that file), that contains code to create an Oracle
stored procedure
into DBD-Oracle. So like SQL PLus, where I'd say
@package.spb,
I have been trying to do the same in every way imaginable with $DBH-prepare
/ do. As of right now, this is not working:
# load
file contents
open
(FILEDATA,
"$sql");
while ($record
= FILEDATA)
{
print
$record;
}
close(FILEDATA);
#
prepare the stored procedure
if
($sth
= $DBH-prepare(
$record
)){
print
$LOG
"prepared:
$HoH{$filename}{'full_filename'}
\n";
#
execute the
stored procedure
if
($sth-execute()){
print
$LOG
"it made it:
$HoH{$filename}{'full_filename'}
\n";
$HoH{$filename}{'build_state'}
= 'COMPILED';
} else
{
#
update
the hash, since we will not be loading this one
print $LOG
"couldnt
excute:
$HoH{$filename}{'full_filename'} \n";
$HoH{$filename}{'build_state'}
= 'FAILED
- COULD NOT
EXECUTE';
}
} else
{
#
update the hash, since we will not be loading this one
print
$LOG
"couldnt
prepare:
$HoH{$filename}{'full_filename'} \n";
$HoH{$filename}{'build_state'}
= 'FAILED
- COULD NOT
PREPARE';
} #
preparing sql
When executed, I get: DBD::Oracle::db
prepare
failed: ORA-24373: invalid length specified for statement (DBD
ERROR: OCIStmtPrepare) at
C:\Tronweb\TW_AUTOMATED_BUILDS\scripts\release_cvs_to_dev.pl
line 261.
This file that I'm trying to
prepare
is small, and I've even set up my Oracle session as:
#Open
an Oracle session
$DBH
= DBI-connect(
"dbi:Oracle:$sid",
$usr,
$pwd
)
or die
"Unable
to connect to $sid: $DBI::errstr";
$DBH-{RaiseError}
= 1;#
Shows the errors if CREATE PROCEDURE fails
$DBH-{LongReadLen}
= 5242880;
$DBH-{LongTruncOk}
= 0;
Do you have any suggestions for
this
dilemma?
THANK YOU for any advice /
direction
that you can provide!
T.j. Randall
tran...@commerceinsurance.com
Systems Analyst | IT
Application Services
| Desk: 508.949.4493 | Cell: 774.633.9123 | Problems
are the price of
progress."-- Charles F. Kettering