Roger, > -----Original Message----- > From: Roger Perttu [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, August 21, 2002 12:59 PM > To: [EMAIL PROTECTED] > Subject: DBD::ODBC 0.45 beta better than 0.41? > > > First, big thanks to Jeff Urlwin for developing DBD::ODBC, (for me) DBI > would be useless without it.
You are welcome! > I'm using SQL Server and DBD::ODBC 0.41 (because that's what I can get > by ppm) I've read the change log and am wondering if the 0.45 release is > better (more stable) than 0.41. I could write workarounds for the > problems I find in 0.41 but I might be better of using the beta. Where > can I get a binary (by ppm) release of 0.45? (I've got 0.41 from > http://www.xmlproj.com/PPM/) I can build a DBI and DBD::ODBC for you. Take BOTH!. The betas should be much better, now. Try getting the files from: ftp://ftp.esoftmatic.com/outgoing/DBI (I can't see that address while I'm behind the firewall, so e-mail me and let me know...) > > I have the following problems: > > ______________________________ > 1. Return value from stored procedure truncated: > > $dbh->prepare('{?=call testPrc(?)}'); > .... > { $queryOutputParameters{$name} = $value || ' '; # notice: one space > > $sth->bind_param_inout($i, \$queryOutputParameters{$name}, 30, { > TYPE => $type }); > } > .... > $sth->execute(); > > The procedure should return 111 but I get 1. If I add more spaces to > $queryOutputParameters{$name} I'll get more data, ie five spaces gives > me "111 ". It took me quite some time to figure this out. max_len (30) > in bind_param_inout is ignored. This should *definitely* be fixed. If not, package up a small test script and I'll run it, test it and post it here. > ______________________________ > 2. multiple result sets, keys are not updated by fetchrow_hashref > The first time I call testPrc (code below), I get this (which is > expected): > outputData $VAR1 = { > 'some_data' => '1' > }; > > outputData $VAR1 = { > 'parameter1' => '11', > 'some_more_data' => '3' > }; > > The second time, I get this (should get the same result as the > first time): > outputData $VAR1 = { > 'parameter1' => '1', > 'some_more_data' => '3' > }; > > outputData $VAR1 = { > 'parameter1' => '11', > 'some_more_data' => '3' > }; > > > ALTER PROCEDURE dbo.testPrc > @parameter1 int = 22 > AS > select 1 as some_data > select isnull(@parameter1, 33) as parameter1, 3 as some_more_data > > RETURN(@parameter1 + 1) > I'm not sure if this is fixed or not. Again, if you can package up a quick test script which creates any procedures/tables you need (self-contained, in other words), I can look at it. Regards, Jeff