Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

It runs fine when I leave out "NOTE" and "LOV_DISPLAY_KEY" which are VARCHAR2. The others are just NUMBER type.

I'm guessing the issue is with the "NOTE" data. If I leave out just "NOTE", it runs and gets all the rows, but then hangs when it attempts to execute the sql again for a second time through a loop it's inside... I'm guessing that's an issue with my code and trying to do it in a loop that way, this is my first time attempting stuff like this so I'm still learning. A broader snip of my perl script:

# establish database connection my $dsn = "dbi:Oracle:DWAPRD"; my $dbh = DBI->connect($dsn, $user, $pass); # execute "lov_table_lookup.sql" my $sth = $dbh->prepare($lov_table_sql); $sth->execute($note_filter, $name_filter); # print returned data and store table numbers in array my @table_numbers; print "\n----------\n"; while(my $row = $sth->fetchrow_hashref()) { print $row->{'TABLE_NUMBER'}, " ", $row->{'GLOBAL_SECTION_NAME'}, +" ", $row->{'NOTE'}, "\n"; push(@table_numbers, $row->{'TABLE_NUMBER'}); } print "----------\n"; # retrieve and print lov value list for each table number found foreach(@table_numbers) { my $row_counter = 1; # execute "lov_value_lookup.sql" my $sth = $dbh->prepare($lov_value_sql); $sth->execute($_); print "\n----------\n"; while(my $row = $sth->fetchrow_hashref()) { print "$row_counter ", $row->{'TABLE_NUMBER'}, " ", $row->{'LO +V_INTEGER_KEY'}, " ", $row->{'LOV_DISPLAY_KEY'}, " ", #$row->{'NOTE'}, "\n"; $row_counter++; } print "----------\n"; }

And the error message I get in that case, which seems to be just telling me "hey dummy, you can't do that with a loop that way" or something of that nature:

DBD::Oracle::db prepare failed: ORA-25408: can not safely replay call +(DBD ERROR: OCIStmtExecute/Describe) [for Statement "-- List all the +codes SELECT table_number , lov_integer_key , lov_display_key --, note FROM rdb_main.dk_lov_detail_rec WHERE table_number = ? ORDER BY table_number, lov_integer_key "] at lov_lookup.pl line 51. Can't call method "execute" on an undefined value at lov_lookup.pl lin +e 52.

EDIT: Yes, it runs fine when I moved the prepare statement outside the loop (derp on my part), so the problem is presumably in the "NOTE" column data for those particular rows it's hanging on.

Just another Perl hooker - My clients appreciate that I keep my code clean but my comments dirty.

In reply to Re^4: DBD::Oracle::st fetchrow_hashref failed: ORA-25401 by perldigious
in thread RESOLVED - DBD::Oracle::st fetchrow_hashref failed: ORA-25401 by perldigious

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2024-04-26 01:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found