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



Reply via email to