使用PHP+FreeTDS在Linux下连接MS SQLServer数据库

原创 2005年05月20日 09:57:00

网站服务器要换Linux平台,然而由于种种原因吧,数据库还是得沿用老的MS SQLServer,而以前在windows下PHP是使用的MSSQL扩展库php_mssql.dll连接的(即添加extension=php_mssql.dll 到 php.ini文件即可)。查看PHP官方手册得知,如果要想在Linux下使用MSSQL函数的功能,则必须使用第三方的软件。这里我使用的是PHP手册上推荐的FreeTDS扩展库,下载在http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/
首先安装freetds
#tar -xzvf freetds-0.63RC10.tar.gz
#./configure --enable-msdblib --prefix=/usr/local/freetds
#make
#make install

配置freetds
#cd /usr/local/freetds
#vi etc/freetds.conf

修改以下的一段,并把;去掉
改好之后的内容:
[MyServer2k]
host=192.168.27.20
port=1433
tds version=8.0

其中的[MyServer2k]代表在客户端使用的服务器名称,host代表SQLServer服务器的IP地址,port代表端口
测试连接
#bin/tsql -S MyServer2k -H 192.168.27.20 -p 1433 -U sa -P sa
1> use tbit_mcp
2> go
1> select count(*) from t_service
4
1> quit
通过上面的操作,我们发现已经可以在Linux下访问MS的数据库咯
现在来说明以下这些参数的作用,-S MyServer2k是在freetds.conf中定义好的,-H 192.168.27.20服务器IP地址,和freetds.conf中的一致,如果使用了-S参数,这个参数可以不用,-p 1433用来指定端口是1433 ,–U sa用来指定连接数据库的用户名,-P sa用来指定连接数据库的密码。

这样FreeTDS就配置完毕了
接着下载安装php
http://cn2.php.net/get/php-4.3.10.tar.gz/from/a/mirror
php-4.3.10.tar.gz
使用tar命令解压
#tar -xzvf  php-4.3.10.tar.gz
#cd php-4.3.10
#./configure --with-mysql --with-apxs2=/www/bin/apxs --with-mssql=/usr/local/freetds
#make
#make install

注:--with-mssql=后面是tds的安装路径

重新运行apache,设置连接数据库的PHP页面如下
# vi dbconn.php

<?php
$hostname = "192.168.27.20:1433"; //MSSQL Server,注意一定要注明1433端口号,否则将无法连接
$dbuser = "sa"; //用户名
$dbpasswd = "sa"; //密码
$gPageSize= 3; //每页显示的记录数

//连接数据库
$db_id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");
$db = mssql_select_db("tbit_mcp",$db_id) or die("无法连接数据库!");

//执行查询语句
$query = "select * from t_service order by service_id DESC";
$result = mssql_query($query);

……其它我就不再多写了,这样我们就可以在Linux环境下使用PHP+FreeTDS访问MS SQLServer数据库啦!

Linux平台使用Freetds连接SQL Server服务器,兼容PHP和Laravel

Linux平台 PHP和Laravel连接SQL Server

Linux环境PHP5.5以上连接SqlServer2008【全网最经典无错版】

linux版本:64位CentOS 6.4Nginx版本:nginx1.8.0php版本:php5.5.28Sqlserver:2008 关于Linux环境安装Nginx+PHP参考《Linux环境N...
  • 21aspnet
  • 21aspnet
  • 2015年08月12日 21:06
  • 15479

Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)

http://blog.csdn.net/zhangm168/article/details/6859112 Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C...
  • helonSY
  • helonSY
  • 2012年01月17日 16:52
  • 10323

Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)

Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) (1)安装freeTDS FreeTDS为Linux系统提供了TDS协议的开源客户端。由于MS ...

如何使用Oracle SQLDeveloper 中连接MS SQLServer和MySQL数据库

一、连接至MySQL数据库1.下载mysql的jdbc驱动, [url]http://dev.mysql.com/downloads/[/url] 免费,嘿嘿。2.解压zip文件(我下载的版本是mys...
  • zqpgood
  • zqpgood
  • 2011年01月18日 07:43
  • 598

Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)

http://blog.csdn.net/zhangm168/article/details/6859112 Linux下使用FreeTDS访问MS SQL Server 2005数据库(包...

DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC SQLPERF提供所有数据库的事务日志空间使用情况统计信息

提供所有数据库的事务日志空间使用情况统计信息。也可以用于重置等待和闩锁的统计信息。  Transact-SQL 语法约定 语法 DBCC SQLPERF ...

MS SQLServer 批量附加数据库

Use master Go if object_ID('[sp_AttchDataBase]') is not null Drop Procedure [sp_AttchDataBase] GO ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用PHP+FreeTDS在Linux下连接MS SQLServer数据库
举报原因:
原因补充:

(最多只允许输入30个字)