|
我现在在工作上碰到一个十分辣手的问题:Linux下PHP连接Microsoft SQLServer的姿料库。linux上是RedHat7.1版本,apache-1.3.19-5,
php-4.0.4pl1-9,
mysql-3.23.36-1.
而微软的服务器为Microsoft SQLServer7.0版本,ip地址:192.168.1.203,端口号:1433。
任务:公司总部的数据库系统采用MSSQL,而我下公司WEB服务器用linux上的RedHat7.1版本,为了给全体职工提供在线资料查询,需要在LINUX上去访问总公司的MSSQL,ip地址:192.168.1.203,端口号:1433。Bill Gates不会提供Linux下的MS SQL驱动程序,通过ODBC或SQLServer Client连接,这都是Windows下面现成的。但是在Linux下面没有现成的ODBC和SQLServer Client。
我就安装了freetds软件,freetds 来源:ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz 简要描述:
该软件属 GPL,是一个让SYBASE和Microsofte数据库客户端和其数据库服务通信的工具,能够完成例如DB-Lib、CT-Lib、ODBC、JDBC和Perl DBI这样的工作。
第一步:编译安装freetds。
./configure –prefix=/usr/local/freetds --with-tdsver=7.0 因为 --with-tdsver=7.0连接数据库的端口是1433。
第二步:重新编译PHP4
./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds
第三步:配置freetds.conf文件
[sqlserver]
host = 192.168.1.203(SQLServer机器IP地址)
port = 1433
tds version = 7.0
第四步:配置php.ini文件
找到 ;extension=mssql70.so
将注释;去掉成
extension=mssql70.so
第五步:在php中建立数据库连接
$link=mssql_connect("192.168.1.203","sa","") ;
echo $link;
在浏览器中运行上面脚本出现Call to undefined function: mssql_connect();
而且我一用了好多其它办法,都说Call to undefined function: mssql_connect();
所以现在请你在百忙之中能够帮我想想办法,我已经搞了二十来天了,搞的一点成就感都没了,天天头脑涨涨的。希望能给我讲详细一点,谢谢!!! |
|