Sql server odbc无法连接到OS X上的MSSQL数据源
odbcSql server odbc无法连接到OS X上的MSSQL数据源,sql-server,macos,odbc,freetds,unixodbc,Sql Server,Macos,Odbc,Freetds,Unixodbc,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 locale is "C/U
isql
无法连接到数据源:
$ 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
locale is "C/UTF-8/C/C/C/C"
locale charset is "UTF-8"
using default charset "UTF8"
1>
当tsql
正常时:
$ tsql -S SERVER001 -U username -P password
返回:
[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
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
[freetds]
Description = MS SQL database access with FreeTDS
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsodbc.so
UsageCount = 1
$cat~/.odbcinst.ini
:
[SMS_GTWY]
Description = SERVER001 Server
Driver = freetds
Database = SMS_GTWY
ServerName = SERVER001
TDS_Version = 7.1
[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上有类似的设置,odbc isql到mssqlserver工作正常。有一个明显的区别,我没有看到libtdsS.so
安装在OSX上
CentOS上的cat/etc/odbcinst.ini
[freetds]
Description = MS SQL database access with FreeTDS
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/libtdsS.so
UsageCount = 1
这就是问题的原因吗
p、 s.$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
[freetds]
[SMS_GTWY]
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
$odbcinst-q-d
返回:
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
[freetds]
[SMS_GTWY]
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
$odbcinst-q-s
返回:
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
[freetds]
[SMS_GTWY]
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
isql
在重新安装unixodbc
和freetds
(——使用unixodbc
)后工作:
现在,$isql-v SMS\u GTWY用户名密码
返回:
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
[freetds]
[SMS_GTWY]
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
信用证:好的。我也为此浪费了两天时间,但我不想使用自制软件或MacPorts。诀窍是使用unixODBC开关构建FreeTDS。这将生成odbc驱动程序(xxx.so),而不是以其他方式生成。首先,你需要 XCode和命令行工具已经安装。网络上有大量的资源来展示如何做到这一点 以下是我采取的步骤
制造
sudo制作安装
完成后,所有内容都应该在/usr/local/中。您的驱动程序应该位于/usr/local/lib中。在/usr/local/etc中编辑您的设置文件。希望这对您有所帮助。对于使用MacPort的任何人来说,上面唯一不同的部分是通过以下方式安装FreeTDS:
sudo port install freetds +mssql +odbc +universal
驱动程序库将位于此处:
/opt/local/lib/libtdsodbc.so
你真是个天才!在尝试遵循这些有用的说明时,这节省了我的时间非常感谢。我也有这个问题。重新安装