UbuntuからMSSQLサーバーに接続しようとしています。提案された here のようなfreetdsをインストールしました。
ただし、/ etc/odbc.iniを構成してドライバーパスを入力しようとすると、場所にドライバーがありません/usr/local/freetds/lib/libtdsodbc.so
。
誰かがfreetdsをインストールし、odbcを使用するように設定するのを手伝ってくれますか? * edit1:/ usr/lib/x86_64-linux-gnu/odbcにlibtdsodbc.soが見つかりました。そのドライバー/パスを使用する必要がありますか?
ここに完全なインストール例を含むVagrantボックスを作成しました: https://github.com/FlipperPA/Django-python3-vagrant/
...しかし、基本的な手順は次のとおりです。
# Install pre-requesite packages
Sudo apt-get install unixodbc unixodbc-dev freetds-dev freetds-bin tdsodbc
Odbcinst.iniが/etc/odbcinst.iniのドライバーを指すようにします。
[FreeTDS]
Description = v0.91 with protocol v7.2
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Odbc.iniでDSNを作成します。
[dbserverdsn]
Driver = FreeTDS
Server = dbserver.domain.com
Port = 1433
TDS_Version = 7.2
...およびfreetds.confのDSN:
[global]
# TDS protocol version, use:
# 7.3 for SQL Server 2008 or greater (tested through 2014)
# 7.2 for SQL Server 2005
# 7.1 for SQL Server 2000
# 7.0 for SQL Server 7
tds version = 7.2
port = 1433
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
# A typical Microsoft server
[dbserverdsn]
Host = dbserver.domain.com
port = 1433
tds version = 7.2
これを完了した後、tsql(FreeTDSレイヤーをテストする)およびisql(FreeTDSスタックを介したunixODBC用)で接続を試みることにより、接続をテストできます。
apt-getは本当に古いバージョンです。新しいバージョンを取得するには
Sudo apt-get install wget
Sudo apt-get install build-essential
Sudo apt-get install libc6-dev
# find latest version of FreeTDS ftp://ftp.freetds.org/pub/freetds/stable/
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.92.tar.gz
tar -xzf freetds-1.00.92.tar.gz
cd freetds-1.00.92
./configure --prefix=/usr/local --with-tdsver=7.3
Sudo make
Sudo make install
freedts.conf内
[Server80]
Host = example.com
port = 1433
tds version = 8.0
client charset = UTF-8
odbc.ini内
[MSSQL8]
Driver = FreeTDS
Description = Sybase JDBC Server
Trace = No
Servername = Server80
Database = DBNAME
UID = sa
ClientCharset = UTF-8
odbcinst.ini内
[FreeTDS]
Description=v0.63 with protocol v8.0
Driver=/usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
UsageCount=2