Solved

Perl DBD ORA_XMLTYPE binding causes Segmentation fault

Posted on 2012-12-21
2
479 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.

910 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

19 Experts available now in Live!

Get 1:1 Help Now