CentOS7 宝塔 安装FreeTDS 连接mssql2000

1、下载 并安装FreeTDS

# 下载 freetds,可下载最新 ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.3.10.tar.gz
$ wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.3.10.tar.gz

# 解压
$ tar -zxvf freetds-1.3.10.tar.gz

# 进入解压后的目录,注意版本号
$ cd freetds-1.3.10

# 查看当前支持的 tdsver 版本,选择对应支持的 MSSQL 版本
$ ./configure --help

# 重编译安装,注意 tdsver 版本
$ ./configure --prefix=/www/server/freetds/1.3.10 --enable-msdblib --with-tdsver=7.1
$ make && make install

简单注释:

--prefix=/usr/local/freetds	FreeTDS的默认安装目录 /usr/local/freetds
--enable-msdblib		允许 Microsoft 的函数库
--with-tdsver=7.3		指定TDS的协议版本,不填写则默认5.0版,7.1支持MSSQL2000,7.3支持MSSQL2008。

TDS协议版本:

Microsoft SQL Server 2000    7.1	Include support for bigint (64 bit integers), variant and collation on all fields. Collation is not widely used.
Microsoft SQL Server 2005    7.2	Includes support for varchar(max), varbinary(max), xml datatypes and MARS[a].
Microsoft SQL Server 2008    7.3	Includes support for time, date, datetime2, datetimeoffset.
N/A                          8.0	FreeTDS will alias this version to 7.1 for backwards compatibility reasons, but this should be avoided due to future compatibility concerns. See note below on obsolete versions.

验证:

/www/server/freetds/1.3.10/bin/tsql -C

测试连接:

TDSVR=auto /www/server/freetds/1.2.18/bin/tsql -H 127.0.0.1 -p 1433 -U sa -P admin

配置 freetds.conf 文件:

$ vi /www/server/freetds/1.3.10/etc/freetds.conf
[global]
tds version = 8.0
# 针对 MSSQL 修改配置
# A typical Microsoft server
[mssql]
        # 这是MSSQL服务器IP/端口号
        host = 1.2.3.4
        port = 1433
        tds version = 8.0
        client charset=UTF-8  #确保中文无乱码
        text size = 20971520

安装PHP扩展(PHP7.4 pdo_dblib

下载 https://www.php.net/distributions/php-7.4.29.tar.gz  把  php-7.4.29extpdo_dblib  上传到  /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/

cd /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/pdo_dblib
/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config --with-pdo-dblib=/www/server/freetds/1.3.10
make && make install

在php.ini中配置好pdo_dblib.so,重启服务器后查看phpinfo。

extension=pdo_dblib.so

PHP连接原生代码

new PDO ("dblib:version=8.0;host=1.2.3.4:1433;dbname=MuOnline","sa","123456");

或者使用 freetds.conf  文件连接

new PDO ("dblib:host=mssql;dbname=MuOnline","sa","123456");

gbk转utf8

iconv('utf-8','GBK',$row['name']);

 

安装PHP扩展(PHP5.6  mssql.so

cd /www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/mssql
/www/server/php/56/bin/phpize
./configure --with-php-config=/www/server/php/56/bin/php-config --with-mssql=/www/server/freetds/1.3.10 
make && make install

 

阅读剩余
THE END