zoukankan      html  css  js  c++  java
  • Linux下PHP连接MS 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文件,它可以告诉你很多出错的信息帮助你排除问题。
  • 相关阅读:
    多重背包POJ1276不要求恰好装满 poj1014多重背包恰好装满
    哈理工1053完全背包
    求最小公倍数与最大公约数的函数
    Bus Pass ZOJ 2913 BFS 最大中取最小的
    POJ 3624 charm bracelet 01背包 不要求装满
    HavelHakimi定理(判断一个序列是否可图)
    z0j1008Gnome Tetravex
    ZOJ 1136 Multiple BFS 取模 POJ 1465
    01背包 擎天柱 恰好装满 zjut(浙江工业大学OJ) 1355
    zoj 2412 水田灌溉,求连通分支个数
  • 原文地址:https://www.cnblogs.com/huang/p/478349.html
Copyright © 2011-2022 走看看