Eugene Krivdyuk wrote:
2008/6/10 Martin Evans <[EMAIL PROTECTED]>:
I believe this is the right error for what you have done because the only
way for oracle to know which function you meant is if the bound parameters
match the right function. Since you are binding dates as varchars and oracle
can convert varchars to various types how can it know which function you
meant?
Error occurs even when I define type for bind_param explicitly, e.g.:
$sth->bind_param(':i_param2', $sDateStart, { ora_type => ORA_VARCHAR2 });
$sth->bind_param(':i_param3', $sDateEnd, { ora_type => ORA_VARCHAR2 });
Yes, I saw that but varchars can be converted to dates and oracle
supports implicit conversion of varchars to dates so it is still not
clear to Oracle which function to use. I suspect if you had parameter
differences in the functions where an implicit conversion could not be
performed then Oracle would happily match up your call to the right
function.
If it isn't that, then it may depend on what is bound for the
date/varchar parameters e.g., if they are NULL then Oracle won't know which
function you meant
They are always not NULLs in my case.
I only mentioned that in case as I'd seen that before and your example
did not rule it out.
Anyway you have a sensible workaround now with the advantage that anyone
looking at the call can also be sure which version of the function you
are using.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com