Я работаю над проектом Python, который использует соединения без DSN с SQLAlchemy / pyodbc / unixODBC / FreeTDS для извлечения данных из базы данных SQL Server. Теперь я хотел бы установить client charset
непосредственно в строке подключения, что невозможно в версиях FreeTDS до 0.91.
К сожалению, 0.91 недоступен ни в одном PPA или как файл deb, и, поскольку мои навыки компиляции весьма недостаточны, я не смог успешно скомпилировать его непосредственно из источника.
Пользователь на форумах Ubuntu, кажется, такая же проблема.
Итак, как бы мне собрать FreeTDS 0.91
на Ubuntu 11.04 x64
? Любая помощь будет принята с благодарностью.
Я использовал :
./configure --prefix=/usr --sysconfdir=/etc --with-unixodbc=/usr
для установки freetds 0.9.1 для установки на ubuntu 11.04. В /etc/odbcinst.ini
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
работал нормально!
Из моих заметок о Debian Squeeze x64, так что на вашем Ubuntu все может быть немного иначе, я думаю, что просто выполнил инструкции в документация. Не проверял, работает ли этот конкретный вариант, например odbc, но компилируется и устанавливается нормально.
# as root:
# tried gnutls for ssl/tls support.
aptitude install build-essential automake libgnutls-dev
cd /root
#Stable release:
wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
#wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/current/freetds-current.tgz
tar xvzf freetds-stable.tgz
# of course adjust depending on directory created:
cd freetds-0.91/
# see documentation
# for what you can configure
# using tdsver 7.2 for fairly recent sql server dbs.
# make sure unixodbc is already installed in advance
# aptitude install unixodbc
# couldn't get openssl or gnutls ssl support working on a fairly clean system
# haven't looked into it further
./configure --disable-server --disable-pool --enable-krb5 --enable-sspi --enable-msdblib --with-tdsver=7.2
make; make install; make clean
# stuff gets installed in /usr/local/lib and other locations