ON Thu, Oct 21, 2004 at 10:41:28AM +0100, Tim Bunce wrote:
> On Thu, Oct 21, 2004 at 07:52:42AM +0200, Honza Pazdziora wrote:
> >
> > t/25plsql is now clean. The perl -Mblib yields
> >
> > Can't select from function (ORA-06553: PLS-561: character set mismatch on value
> > for parameter 'ARG2'
> > ORA-06553: PLS-561: character set mismatch on value for parameter 'ARG' (DBD
> > ERROR: error possibly near <*> indicator at char 7 in 'SELECT
> > <*>dbd_oracle_nvctest(:p1, :p2) FROM DUAL'))
>
> It's odd that the error is happening on the prepare.
>From the trace you sent I can see it's happening on the describe.
Please try this patch over the original.
(Same for Steffan and H.Merijn.)
Tim.
Index: t/25plsql.t
===================================================================
--- t/25plsql.t (revision 506)
+++ t/25plsql.t (working copy)
@@ -314,8 +314,12 @@
end if;
END;
}) or skip("Can't create a function ($DBI::errstr)", 16);
- my $sth = $dbh->prepare(qq{SELECT $func_name(?, ?) FROM DUAL});
- ok(0, $sth);
+ my $sth = $dbh->prepare(qq{SELECT $func_name(?, ?) FROM DUAL}, {
+ # Oracle 8 describe fails with ORA-06553: PLS-561: charset mismatch
+ ora_check_sql => 0,
+ });
+ ok(0, $sth, "Can't prepare select from function ($DBI::errstr)");
+ skip("Can't select from function ($DBI::errstr)", 15) unless $sth;
ok(0, $sth->bind_columns(\my $returnVal));
for (1..2) {
ok(0, $sth->bind_param(1, "foo", { ora_csform => SQLCS_NCHAR }));