Linux 下 PHP 连接 MS SQLServer 的办法

提出问题 前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务。这套系统是Windows 2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间。而最近由于要在WEB上提供短消息用户的一些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和安全性都不尽如意,希望能够在Linux下用PHP脚本读写SQLServer。
 分析问题 本来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文件,它可以告诉你很多出错的信息帮助你排除问题。

时间: 2024-08-02 14:12:50

Linux 下 PHP 连接 MS SQLServer 的办法的相关文章

Linux下PHP连接MS SQLServer的办法

server|sqlserver 提出问题 前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务.这套系统是Windows 2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间.而最近由于要在WEB上提供短消息用户的一些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和安全性都不尽如意

Linux下PHP连接SQL Server的办法

提出问题 前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务.这套系统是Windows 2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间.而最近由于要在WEB上提供短消息用户的一些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和安全性都不尽如意,希望能够在Linux下用PHP脚

在Linux(UNIX)下连接MS SQLserver的方法

     一般人看见这个题目时很惊讶,既然使用Linux(UNIX)操作系统,完全可以使用orcale,MYSQL或者PostGreSQL数据库,并且在Linux(UNIX)系统下使可以更加充分的使用这些数据库的特性.而MS SQLSERVER不提供Linux(UNIX)版的服务器端(客户端)安装,所以无法使用MS SQLSERVER数据库. 但是现实总是这样的,在一些情况下(尤其是多个项目组共同开发时),会出现windows下连接Linux(UNIX)数据库,同样也会出现在Linux(UNIX

linux下adb连接失败的怎么解决

不管是在Windows系统还是在Linux系统中,相信不少用户或开发者都遇到过手机adb连接不上的情况.其实出现这种问题很多时候是由于 adb冲突导致的,毕竟很多软件都有自己的adb链接.那么,出现这种问题该怎么办呢?下面就给大家介绍下Mac或者linux下adb连接失败的解决办法. 1.查看设备VenderID 在mac下 或者Linux打开终端(Terminal),linux下可以按快捷键(CTRL+T,忘了具体是不是大家去试试或者查查),mac下Control+space,输入Termin

Linux下php连接SQLServer 2000数据库的配置方法_Linux

说明: Linux服务器系统:CentOS 5.5 Web环境:LAMP或者LNMP Windows服务器系统:Windows Server 2003 Windows服务器IP地址:192.168.21.134 数据库环境:SQL Server 2000数据库 数据库账号:sa 数据库密码:123456 实现目的:Linux服务器中的php程序能够连接到Windows服务器中的SQL Server 2000数据库 具体步骤: 一.在Linux服务器中安装freetds 1.安装编译工具及驱动程序

linux下lftp连接ftp服务器上传下载命令

  linux下lftp连接ftp服务器上传&下载 Java代码 用法: lftp ftp://用户名:密码@IP > 下载目录 mirror DIRNAME [下载整个目录里包含子目录,推荐此命令] 上传目录 mirror -R DIRNAM 下载目录 ... 用法: lftp ftp://用户名:密码@IP > 下载目录 mirror DIRNAME [下载整个目录里包含子目录,推荐此命令] 上传目录 mirror -R DIRNAM 下载目录 方法一 > mget -d D

在Linux 下 访 问MS SQL Server 数 据 库(转载)

server 宁 波 保 税 区 官 委 会 计 算 中 心 董 保 华 ---- Linux 作 为 一 个 免 费 的Unix 类 操 作 系 统, 以 其 开 放 性 源 代 码. 多 任 务.X window 等 特 点 为 众 多 的 用 户 所 采 用, 并 有 很 多 企 业 采 用Linux 来 作 为 其 内 部 网 的 全 功 能 服 务 器(WWW,FTP,Email.DNS). 企 业 的 内 部 网 不 仅 要 提 供 文 本 信 息 的 访 问, 还 要 能 提 供

解决Linux下tomcat连接MySQL数据库问题

mysql|解决|数据|数据库|问题 解决Linux下tomcat连接MySQL数据库 在linux下,开发一个web应用,期间调用数据库时总是不成功,如果单独写一个类,并编译执行访问数据库,正常,但是用web应用来调这个类连接数据库,就会出现错误:com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION **

Windows和Linux下使用Python访问SqlServer的方法介绍_python

经常用Python写demo来验证方案的可行性,最近遇到了Python访问SqlServer的问题,这里总结下. 一.Windows下配置Python访问Sqlserver 环境:Windows 7 + Sqlserver 2008 1.下载并安装pyodbc 下载地址:http://code.google.com/p/pyodbc/downloads/list 2.访问SqlServer 复制代码 代码如下: >>> import pyodbc >>>cnxn = p