[freetds] Question

Federico Alves sales at minixel.com
Sat May 10 02:32:34 EDT 2008


Dear Freddy

My entire business almost collapsed today because fteetds opens the
connections with "set implicit transactions on",  versus OFF. I also found
out why.  If I define in freetds.conf my section [minixel] and include "tds
version =8.0", the setting is correct: "implicit transactions off", but
then, the parameter passing for any stored procedures doesn't work anymore.
So to make them work, I started to remove the "tds version 8.0" from my
freetds.conf, and it was a catastrophe. I had to pay support to Microsoft to
debug this until they found the problem.

Can we make the parameters work with SQL 2005 without needing to remove the
"tds version=8.0"? The parameter-passing with Sybase attribute  still work
in SQL 2005. I need both parameter-passing and "implicit transactions off"
when connecting. For example, this perl code:

do {

      while(my $dat = $sth->fetch) {

print "TYPE $sth->{syb_result_type}\n";

print "Data @$dat[0] , @$dat[1] , @$dat[2] \n";

         if($sth->{syb_result_type} == 4042) { # it's a PARAM result

           print "Number:  $dat->[0]  \n";

            print "Varpar:  $dat->[1]  \n";

         }

      }

   } while($sth->{syb_more_results});

 

Does not work as expected when the "Tds version=8.0" is included, but
actually TDS version 8.0 must work because if you do not define it, the
behavior is perfect.

 




More information about the FreeTDS mailing list