Linux + FreeTDS + unixODBC + Haskell 访问 SQL Server 数据库

把配置过程记录下来,方便以后自己查找。

 

环境: 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

 

 

你可能感兴趣的:(sql,linux,server,测试,haskell,database,TSQL)