?
Solved

Perl DBD ORA_XMLTYPE binding causes Segmentation fault

Posted on 2012-12-21
2
Medium Priority
?
486 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-
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
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 …
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Six Sigma Control Plans
Suggested Courses

770 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