zoukankan      html  css  js  c++  java
  • Linux下PHP连接MS SQLServer的办法

    Linux下PHP连接MS SQLServer的办法
    分析问题
    本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般可以通过ODBC或SQLServer Client连接,这都是Windows下面现成的。但是在Linux下面没有现成的ODBC和SQLServer Client,需要我们自己安装。
    解决问题 

    一、相关软件
    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与Oracle数据库连接
    PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。如前所述,你的PHP安装选项应该可以支持两者的使用。
    连接

    if ($conn=Ora_Logon("user@TNSNAME","password"))
    {
    echo "SUCCESS ! Connected to database ";
    }
    else
    {
    echo "Failed :-( Could not connect to database ";
    }
    Ora_Logoff($conn);
    phpinfo();
    ?>

    以上代码使用TNSNAME(在你的tnsnames.ora文件中指明)定义的Oracle数据库名称、用户名称和密码连接数据库。在成功连接的基础上,ora_logon函数返回一个非零的连接ID并储存在变量$conn中。
    详细内容
    http://hi.baidu.com/普及网/blog/item/3fe4df12c474e9956438db72.html
  • 相关阅读:
    学习了数据库中text类型的查找
    通过 .NET Framework 中的 XPath 和 XSLT API 方便地操作 XML 数据
    Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法
    C# 文件压缩与解压(ZIP格式)
    用SharpZipLib来压缩和解压文件(转载)
    Community Server专题二:体系结构(转载)
    在ASP.NET中如何实现和利用URL重写
    Community Server专题一:概述Community Server(转载)
    C#委托之个人理解
    在ASP.NET中实现Url Rewriting
  • 原文地址:https://www.cnblogs.com/limeng951/p/5623279.html
Copyright © 2011-2022 走看看