不能连接sqlserver数据库? 你在编译php时没有将mssql编译进去吧?好像是./configure --with-sysbase=xxx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在编译的时候将MSSQL编译进去./configure --with-sysbase=(你的安装路径) 本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般可以通过ODBC或SQLServer Client连接,这都是Windows下面现成的。但是在Linux下面没有现成的ODBC和SQLServer Client,需要我们自己安装。 解决问题 一、相关软件 freetds 来源:ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz 这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。 二、安装配置步骤 第一步:编译安装freetds: 得到freetds-0.53.tgz后 cp freetds-0.53.tgz /tmp/. (拷贝freetds包到/tmp目录) cd /tmp (进入目录) tar zxvf freetds-0.53.tgz (解压) cd freetds-0.53 (进入解压后目录) ./configure –prefix=/usr/local/freetds --with-tdsver=7.0 gmake (生成Makefile,我试验过,make也可以) gmake install (安装) 关于上面configure我想说一下,--prefix=/usr/local/freetds是指安装到/usr/local/freetds这个目录中,--with-tdsver=7.0是指安装tds 7.0版本(最开是我没有加这个编译参数,结果按照默认编译为5.0。5.0连接数据库的端口是4000,不是SQLServer的1433) 第二步:重新编译PHP4 ./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds(请注意是sybase) make make install 第三步:配置freetds vi /usr/local/freetds/etc/freetds.conf 具体配置见该文件中的说明 例: (典型配置) [sqlserver] host = sql_server_name_or_host_ip (你的SQLServer机器名字或者IP地址) port = 1433 tds version = 7.0 在这个配置文件中可以配置Windows域登陆或者SQLServer账号登陆两种方式 第四步:配置php.ini文件 找到 ;extension=mssql70.so 将注释;去掉成 extension=mssql70.so 第五步:在php中建立数据库连接 $link=mssql_connect("sqlserver",$your_username,$your_password) or die (“can’t Connect to Database”); echo $link; 在浏览器中运行上面脚本, 如果你得到一个link号那么恭喜,你已经配置好了,如果出现Call to undefined function: mssql_connect() 那说明仔细看上面的安装配置过程看你哪一步没有对。 注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的host参数,如果你写的IP地址,就是IP地址。 其他数据库操作参考相关mssql函数 注意,在sql语句中不支持中文!!! 第六步:调试 如果出现不能连接,请在freetds配置文件中找到;dump file = /tmp/freetds.log这一行,注释掉前面的分号,再执行一下测试脚本,察看/tmp/freetds.log文件,它可以告诉你很多出错的信息帮助你排除问题。 如果你的php是在window下运行,应该将php.ini文件中;extension=mssql70.dll的;去掉就行了。try it,我没有在window下跑过php 我用的是win2000系统,数据库用的是sqlserver2000.按照你说的改了但是提示错误如下:Unable to load dynamic library'c:\php4\php_mssql70.dll'-找不到指定的模块。这是怎么回事? $sqlserver_link=mssql_connect("192.168.0.1","sa","");用ip地址。不需要建立odbcphp.ini放在C;/winnt/extension=mssql70.dllc:\php4\php.ini文件不需要要取消注释。 http://expert.csdn.net/Expert/TopicView1.asp?id=1776653 比如函数外边有一个二维数组把参数传递到函数中 通过函数处理得到下面的值 请把函数写下 网站好像被黑了,大家来看看啊 求租,获取不到文件上传的本地路径 如何取最后的6条cookie? mysql乱码......... 谁分析下今天CSDN不能换行的原因 [求助]为什么php程序还是有问题呢? 请高高手指点一下关于Session与Class的问题 PHP怎么设置SOCKET超时参数 linux下配置mysql遇到困难了 请问这些表达试是什么意思,如:"/\[i\](.+?)\[\/i\]/is" 给代码
./configure --with-sysbase=(你的安装路径)
解决问题 一、相关软件
freetds 来源:ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz
这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。
二、安装配置步骤
第一步:编译安装freetds:
得到freetds-0.53.tgz后
cp freetds-0.53.tgz /tmp/. (拷贝freetds包到/tmp目录)
cd /tmp (进入目录)
tar zxvf freetds-0.53.tgz (解压)
cd freetds-0.53 (进入解压后目录)
./configure –prefix=/usr/local/freetds --with-tdsver=7.0
gmake (生成Makefile,我试验过,make也可以)
gmake install (安装)
关于上面configure我想说一下,--prefix=/usr/local/freetds是指安装到/usr/local/freetds这个目录中,--with-tdsver=7.0是指安装tds 7.0版本(最开是我没有加这个编译参数,结果按照默认编译为5.0。5.0连接数据库的端口是4000,不是SQLServer的1433)
第二步:重新编译PHP4
./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds(请注意是sybase)
make
make install
第三步:配置freetds
vi /usr/local/freetds/etc/freetds.conf
具体配置见该文件中的说明
例: (典型配置)
[sqlserver]
host = sql_server_name_or_host_ip (你的SQLServer机器名字或者IP地址)
port = 1433
tds version = 7.0
在这个配置文件中可以配置Windows域登陆或者SQLServer账号登陆两种方式
第四步:配置php.ini文件
找到 ;extension=mssql70.so
将注释;去掉成
extension=mssql70.so
第五步:在php中建立数据库连接
$link=mssql_connect("sqlserver",$your_username,$your_password) or die (“can’t Connect to Database”);
echo $link;
在浏览器中运行上面脚本, 如果你得到一个link号那么恭喜,你已经配置好了,如果出现Call to undefined function: mssql_connect() 那说明仔细看上面的安装配置过程看你哪一步没有对。
注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的host参数,如果你写的IP地址,就是IP地址。
其他数据库操作参考相关mssql函数
注意,在sql语句中不支持中文!!!
第六步:调试
如果出现不能连接,请在freetds配置文件中找到;dump file = /tmp/freetds.log这一行,注释掉前面的分号,再执行一下测试脚本,察看/tmp/freetds.log文件,它可以告诉你很多出错的信息帮助你排除问题。
;extension=mssql70.dll
的;去掉就行了。try it,我没有在window下跑过php
但是提示错误如下:
Unable to load dynamic library'c:\php4\php_mssql70.dll'-找不到指定的模块。
这是怎么回事?
用ip地址。
不需要建立odbcphp.ini放在C;/winnt/
extension=mssql70.dllc:\php4\
php.ini文件不需要要取消注释。