Solved

Perl DBD ORA_XMLTYPE binding causes Segmentation fault

Posted on 2012-12-21
2
477 Views
Last Modified: 2013-01-17
Hello all,
I hope someone can tell me how to troubleshoot or solve my Perl problem I am having. There is an Oracle stored procedure(that I have no control over) that I am attempting to access using Perl (use DBI; use DBD::Oracle qw(:ora_types);). The segmentation fault comes on the binding to the first XMLTYPE in the stored procedure. I am able to run the procedure successfully in Oracle SQL Developer so I believe the DB end is working (maybe). I could post all the code if necessary, but it is typical code I see everywhere else on the web. Here is the portion of code that has the trouble:
print "bind 6\n";
eval{
  $query->bind_param_inout(6, \$rtn1, 20000, { ora_type => ORA_XMLTYPE } );
};
if($@){
  print "\$@ = " . Dumper($@);
}
print "bind 7\n";
$query->bind_param_inout(7, \$rtn2, 20000, { ora_type => ORA_XMLTYPE } );

Open in new window



It will print the 'bind 6' and then just fail. When I run it while debugging, is when I see the segmentation fault. The eval catch is never executed not to mention the rest.

Any experience on this issue would be much appreciated!
Thanks
0
Comment
Question by:grump-
  • 2
2 Comments
 

Author Comment

by:grump-
ID: 38713935
Oh, I am tracing too. Here is where the bind_param_inout happens. The trace ends at 'dbd_rebind_ph_xml' and that's it:
-> bind_param_inout for DBD::Oracle::st (DBI::st=HASH(0x191e108)~0x189eb20 6 SCALAR(0x17fd668) 20000 HASH(0x189eb14))
dbd_bind_ph(): bind :p6 <== undef (type 0 (DEFAULT (varchar)), inout 0x17fd668, maxlen 20000, attribs: HASH(0x189eb14))
dbd_rebind_ph() (1): rebinding :p6 as NULL (not-utf8, ftype 108 (ORA_XMLTYPE or SQLT_NTY), csid 0, csform 0, inout 1)
 in  dbd_rebind_ph_xml

Open in new window

0
 

Accepted Solution

by:
grump- earned 0 total points
ID: 38788664
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: http://www.e-e.com/A_9074.html So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (http://www.mongodb.org/downloads),  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now