`
winzenghua
  • 浏览: 1327081 次
  • 性别: Icon_minigender_2
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics