odbcisql
はデータ ソースに接続できませんでした:
$ isql SMS_GTWY username password -v
戻り値:
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect
間tsql
は大丈夫です:
$ tsql -S SERVER001 -U username -P password
戻り値:
locale is "C/UTF-8/C/C/C/C"
locale charset is "UTF-8"
using default charset "UTF8"
1>
$ cat ~/.freetds.conf
:
[SERVER001]
host = 192.168.8.101
port = 1433
tds version = 8.0
client charset = UTF8
$ cat ~/.odbc.ini
:
[SMS_GTWY]
Description = SERVER001 Server
Driver = freetds
Database = SMS_GTWY
ServerName = SERVER001
TDS_Version = 7.1
$ cat ~/.odbcinst.ini
:
[freetds]
Description = MS SQL database access with FreeTDS
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsodbc.so
UsageCount = 1
freetds
自宅でunixODBC
インストールされますbrew
。
CentOS でも同様のセットアップがあり、mssqlserver への odbc isql は正常に動作しています。libtdsS.so
顕著な違いがあります。OS X にインストールされていることはわかりません。
# cat /etc/odbcinst.ini
CentOS の場合:
[freetds]
Description = MS SQL database access with FreeTDS
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/libtdsS.so
UsageCount = 1
それが問題の原因ですか?
ps の$ odbcinst -j
戻り値:
unixODBC 2.3.1
DRIVERS............: /usr/local/Cellar/unixodbc/2.3.1/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/Cellar/unixodbc/2.3.1/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/Cellar/unixodbc/2.3.1/etc/ODBCDataSources
USER DATA SOURCES..: /Users/horace/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
$ odbcinst -q -d
戻り値:
[freetds]
$ odbcinst -q -s
戻り値:
[SMS_GTWY]