把配置过程记录下来,方便以后自己查找。
环境: Ubuntu
安装:
1. apt-get install unixodbc freetds ...
2. 配置 FreeTDS
/etc/freetds/freetds.conf
增加一个数据源:
[yourserver]
host = [IP]
port = 1433
tds version = 7.0
3. 测试 freetds
使用 tsql 连接测试:
#tsql -S yourserver -U USERNAME -P PASSWORD
4. 配置 unixodbc:
配置驱动
/etc/odbcinst.ini
[FreeTDS]
Description = MS Sql server
Driver = /user/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
FileUsage = 1
配置数据源:
/etc/odbc.ini
[yourserver]
Driver = FreeTDS # 就是 odbcinst.ini 中的名字
Description = your sql server
Servername = yourserver # freetds 中的名字
Database = [initdatabase]
5. 使用 isql 测试 unixodbc 配置:
#isql -v yourserver USERNAME PASSWORD
6. 安装 Haskell HDBC 驱动
# cabal install hdbc-odbc
7. 在 haskell 中访问Sql Server
testodbc.hs
module Main where
import Database.HDBC.ODBC
import Database.HDBC
main = do
conn <- connectODBC "DSN=yourserver;UID=USERNAME;PWD=PASSWORD"
vals <- quickQuery conn "select top 10 id from testtable;" []
mapM_ print vals