> Hello,
>
> Sql Server 2000 is running on a Win 2000 box and DBD::ODBC is running on
> a Linux box.
>
> Which ODBC driver can I use for connecting the database server? Do you
> gain any experience with a particular driver?
The two I've tried are: www.openlinksw.com and www.EasySoft.com. EasySoft's
passes all tests on the most current DBD::ODBC. I have not tried Openlink's
in a while.
>
> I have tried an ODBC driver of DirectTechnologies, but I have got
> problems with nested sql statements. I get somethink like "Connection is
> busy with results for another hstmt".
>
> Do you know this problem? And do you have any hint for me?
That is an issue with the database itself. I believe there may be a
workaround (check the archives). There is a "hack" which may allow this for
you. Here's the text of the patch (from the DBD::ODBC pod documentation).
SQL_ROWSET_SIZE attribute patch from Andrew Brown
> There are only 2 additional lines allowing for the setting of
> SQL_ROWSET_SIZE as db handle option.
>
> The purpose to my madness is simple. SqlServer (7 anyway) by default
> supports only one select statement at once (using std ODBC cursors).
> According to the SqlServer documentation you can alter the default setting
> of
> three values to force the use of server cursors - in which case multiple
> selects are possible.
>
> The code change allows for:
> $dbh->{odbc_SQL_ROWSET_SIZE} = 2; # Any value > 1
>
> For this very purpose.
>
> The setting of SQL_ROWSET_SIZE only affects the extended fetch command as
> far as I can work out and thus setting this option shouldn't affect
> DBD::ODBC operations directly in any way.
>
As always -- your mileage may vary...
Jeff