pdo_odbc + unixODBC 连接SQL2000

因为项目需求,需要在linux下连接SQL2000,郁闷了一天才搞出来,下面写下安装过程。

LAMP配置环境采用的是nginx的环境,过程的安装就不啰嗦了,详细情况参看这篇blog:
http://blog.s135.com/post/366/


1、安装unixODBC软件包,如下:

unixODBC-2.2.11-7.1.i386.rpm
unixODBC-kde-2.2.11-7.1.i386.rpm
unixODBC-devel-2.2.11-7.1.i386.rpm

yum -y install unixODBC-*

2、从官网上下载PDO_ODBC扩展包

wget
tar -zxvf PDO_ODBC-1.0.1.tgz
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-odbc=unixODBC,/usr
make
make install

在php.ini文件添加下面一行
extension = "pdo_odbc.so"

从 php.ini 检查 pdo_odbc 是否安装成功。


3、安装freetds

简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库!

tar -zxvf freetds-stable.tgz.tar
cd freetds-0.82/
./configure --prefix=/usr/local/webserver/freetds/ --with-tdsver=7.0 --with-unixODBC

make
make intall

如果你自己编译了libiconv软件包,估计要做个软连接
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

测试下是否连接成功:
/usr/local/webserver/freetds/bin/tsql -S ip地址 -U 用户名
locale is "en_US.UTF-8"
locale charset is "UTF-8"
出现以上字符就说明编译成功了。


下面就可以进行配置freetds,可以通过图形界面,也可以通过字符界面,这里通过字符界面来配置:

[root@localhost etc]# more /usr/local/webserver/freetds/etc/freetds.conf
添加以下内容:

[sql2000]
        host = 192.168.100.100
        port = 1433
        tds version = 8.0   #必须使用8.0 ,才可以访问SQL Server 2000
        client charset = GBK  #客户端字符集,在使用isql 访问数据源时,如果检索的数据中中文为乱码,则需要添加并设置


[root@localhost etc]# more /usr/local/webserver/freetds/etc/locales.conf
添加以下内容:

[zh_CN]
language = Simplified Chinese
charset = GBK

根据数据库字符类型来定义连接字符,这里数据库是拉丁,所以采用了GBK。

[root@localhost etc]# more /etc/odbcinst.ini
添加以下内容:

[MySql2k]
Description     = ODBC for MySql2k
Driver          = /usr/local/webserver/freetds/lib/libtdsodbc.so
Driver64        = /usr/local/webserver/freetds/lib/libtdsodbc.so
Setup           = /usr/lib/libtdsS.so
Setup64         = /usr/lib/libtdsS.so
UsageCount      = 1
CPTimeout       =
CPReuse         =


[root@localhost etc]# more  /etc/odbc.ini
添加以下内容:

[mssql]
Description     = connect to sql2000
Driver          = MySql2k
Servername      = sql2000
Database        = 连接数据库
UID             = 连接用户名
PWD             = 连接密码
Port            = 1433


4、测试下连接情况

[root@localhost etc]# isq -v mssql(数据源) 用户名 密码
SQL>

出现以上信息就说明连接成功了。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

omyligaga

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值