Installation guide
mxODBC - Python ODBC Database Interface
• Most other operations work as expected, but please note that the driver is
still under heavy development in some areas. You should test it
thoroughly before using it on a production system.
• The FreeTDS website mentions that the driver has some restrictions.
Please see the FreeTDS user guide
for details.
• Be sure to use the same ODBC manager with FreeTDS as the one you
have compiled it with. If you mix e.g. unixODBC and iODBC, you can
easily run into Unicode data corruption issues. The two ODBC managers
use different default data types for Unicode data, so a FreeTDS ODBC
driver compiled against unixODBC (2-bytes Unicode data type) will not
return correct Unicode data when used with the iODBC ODBC manager
(4-bytes Unicode data type).
• FreeTDS ODBC driver only works natively with DATETIME columns.
DATE and TIME column types introduced in SQL Server 2008 are only
supported via strings. FreeTDS 0.91 accepts them as strings and returns
them as strings. Using mxDateTime values for DATE and TIME fields does
not work. You can use the MS SQL Server Native Client for Linux, if you
need these column types supported, since it does not have this limitation.
• There are other ODBC drivers available from commercial vendors which
implement the full ODBC3 API, including the free MS SQL Server Native
Client for Linux from Microsoft. Alternatively, you can use our mxODBC
Connect product to use the SQL Server Native Client on Windows from
all supported Python platforms and without the need for a client-side
ODBC driver.
• The FreeTDS driver does not support the MARS feature
3
. Only one active
result set is allowed per connection. If you need the MARS feature, please
have a look at the MS SQL Server Native Client for Linux. This driver also
support the MARS feature. See "Multiple active result sets (MARS) on a
single connection" further up for details.
Example Configuration for Unix
Here is a sample setup for FreeTDS on Linux talking to MS SQL Server 2008 on
Windows:
• Add this section to /usr/local/freetds/etc/freetds.conf (the freetds.conf
configuration file may be in a different location on your machine):
# MS SQL Server 2000 running on server MONET
[MONET]
host = monet.example.net
port = 1433
tds version = 8.0
• Add this section to /etc/odbc.ini (the odbc.ini configuration file may be in
a different location on your machine ). It is also necessary to point
LD_LIBRARY_PATH to the directory where the driver itself is located.
3
There is work underway to add this feature. See the http://freetds.org/ website.
38