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 }));

Reply via email to