Tim Bunce wrote:
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 }));
Oracle 8.1.7/8.1.7:
test nvarchar2 arg passing to functions
Use of uninitialized value in concatenation (.) or string at t\25plsql.t line 321.
ok 66
Describe failed during DBI::st=HASH(0x13a0380)->FETCH(NUM_OF_FIELDS): 6553:
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') at C:/opt/perl/site/lib/DBI.pm
line 1695.
Steffen