[freetds] Connecting to SQL Server 2008 from Ubuntu 8.04

Nick Tidey nicktidey at gmail.com
Fri Sep 11 02:30:28 EDT 2009


Hi

I'm seeing some strange behaviour connecting to a Server 2008 database  
from Ubuntu 8.04 using unixODBC. This may well be a unixODBC issue?

With freetds.conf configured like so:

   tds version = 8.0
   client charset = UTF-8

I see the following:

root at u804:/etc/freetds# isql activerecord_unittest_2008 <username>  
<passwd>
SQL> select getdate();
[ISQL]ERROR: Could not SQLPrepare

Running with TDSDUMP=stderr shows an error "the incoming tabular data  
stream remote procedure call protocol stream is incorrect, data type  
0x38 is unknown".

Full output is here: http://pastie.org/613265

Change TDS version to 7.0 shows the following:

SQL> select getdate();
+-------------------------+
|                         |
+-------------------------+
| 2009-09-11 16:25:01.800 |
+-------------------------+
SQLRowCount returns 1
1 rows fetched
SQL> select * from events;
+------------+---------------------+
| id         | title               |
+------------+---------------------+
+------------+---------------------+
SQLRowCount returns -1

A few questions:

- Is the row count of -1 for an empty table the expected return value  
in TDS version 7.0 or is something else broken in this case?

- Is 7.0 an appropriate version to use for a 2008 server? Do I lose  
anything apart from bigint support?

- From what I could glean from Microsoft's TDS "documentation" 2005  
uses TDS version 7.2. The FreeTDS version makes no mention of a 7.2  
though, so am I misunderstanding something here?

Thanks
--
Nick



More information about the FreeTDS mailing list