FreeTDS hangs when running a select
"Brian Johnson" <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
I have NO idea what to call this, thus the vague subject line. We are connecting to an MS SQL server using Perl, dbi:ODBC, and FreeTDS. The problem also exists when connecting using sqsh -S WHATEVER -U USER -P PASS. Let me start by saying that the following numbers are somewhat made up, but demonstrate the problem accurately. Anyway, lets say we have a table with 5 columns, and 100 rows. If we do a "select * from foo", we would expect to get 100 rows returned. We don't. Instead we get say 25 rows, and the select hangs. I can print out the results of those 25 rows in perl, but the 26th row never gets returned. So, we modified the select to be "SELECT col1 FROM foo", and we got all 100 rows of that column. So we did "SELECT col1, col2 FROM foo", and then we got 75 rows and it hung. So we tried "SELECT col1, col2, col3" FROM foo", and ended up getting 50 rows. Of course, the numbers were not so nice and round. As for how we are connecting, I have tried DSN and DNS-less connections with dbi::ODBC, and of course have tried with sqsh. For sqsh I added an entry to freetds.conf, and then ran sqsh -S ENTRYNAME -U USER -P PASS. I was able to do very small selects, but any time I did a select that returned large numbers of rows it hung. For the ODBC connections, we have unixodbc on the backend. This is on a Debian box, running FreeTDS 0.63-3.2, unixodbc 2.2.11-13, and sqsh 2.1-8. I also saw the same behavior on a Gentoo system running FreeTDS 0.64 and sqsh 2.1-r1. I will admit, I'm a bit green in this department. But this is all working for another MS SQL server running an older version of MS SQL (2000 I believe). And I think the new server is running 2003. I will find out for sure tomorrow (Monday). Any help, pointers, or direction would be GREATLY appreciated. If more information is needed, I can happily provide it. Thanks in advance! -Brian