From: "Jenda Krynicky" <[EMAIL PROTECTED]>
> From: "Jeff Urlwin" <[EMAIL PROTECTED]>
> > It could be a bug. Can you wrap up a quick test case and I'll trace
> > it through?
> >
> > Regards,
> >
> > Jeff
>
> Sorry for the delay.
>
> #!perl
> use DBI;
>
> my $PROC = <<'*END*';
> ...
> *END*
>
> $db = DBI->connect('dbi:ODBC:xxxx', 'xxx', 'xxx',
> {PrintError => 0,RaiseError => 1,LongReadLen => 65536,AutoCommit =>
> 1});
>
> $db->do($PROC);
>
> eval{
> {
> my ($JobCity, $JobState, $JobCountry, $JobZIP);
> # this one returns just one char in each output variable in the
> first call # my ($JobCity, $JobState, $JobCountry, $JobZIP) =
> ('','','','');
> # this one returns just one char in each output variable in the
> first call # my ($JobCity, $JobState, $JobCountry, $JobZIP) = ( " "x
> 50, " "x 50, " ", " "x 5); # my ($JobCity, $JobState, $JobCountry,
> $JobZIP) = ("\0" x 50, "\0" x 50, "\0" x 2, "\0" x 5, );
> # the two above work fine
> # my ($JobCity, $JobState, $JobCountry, $JobZIP) = ( " "x 3, " "x 3,
> " ", " "x 3);
> # my ($JobCity, $JobState, $JobCountry, $JobZIP) = ( " ", " ", " ",
> " ");
> # it's strange but these two work fine
> ...
>
> If I do not initialize the variables or initialize them to '' then the
> first call returns just the first characters of the return values, in
> all other cases it works correctly. The second and following calls
> work fine, even if the values are longer than the ones returned
> before.
Any news?
I just found out that it breaks even if the stored procedure returns
some nulls. It returns nulls once and the following calls all return
just the first character.
Thanks, Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery