mac os PHP 访问MSSQL

写在前:

  项目的数据库是sql server,但是自己的系统是mac os。这样导致了需要一个烦人的系统环境搭建过程。目前要在mac 上的php环境中支持mssql环境访问,经过自己了解,有两种方式:

   一、ADOdb是Active Data Objects database的简称,它是一种PHP存取数据库的函式组件。它允许程序员以一致的方式来存取数据库,从而忽略后台数据库的种类的差异。它的优势是能让程序员在转移数据库平台时,可以不用花费大量时间重新书写代码。笔者花了大量时间在该环境的搭建中,但是没成功运行。数据库总是显示连接不上,希望有探究精神的童鞋能够研究一下,然后做一个share link。

    二、FreeTDS +ODBC.在进行方式一的时候,发现phpinfo()对mssql的支持情况。而xampp集成了FreeTDS,这能很方便我们对这个环境进行搭建。笔者使用这种方式很快就搭建完成。接下来说说方式二的搭建过程。

工作环境:

   OS:MAC OS

   php环境: xampp+unixODBC+远程MSSQL

配置过程:

  一:xampp 环境搭建(略)。

    与常规的安装过程相同,参考连接:https://netbeans.org/kb/docs/php/configure-php-environment-windows_zh_CN.html 。

这里要说的是安全设置:默认情况安全状态都为不安全,要对其进行更改,只需要在终端运行:/Applications/XAMPP/xamppfiles/xampp security  ,按照提示进行密码设置就可以了。xampp默认帐户名为xampp,mysql 默认帐户名为root

    

     2.配置过程中,修改环境运行目录:

DocumentRoot "/Applications/XAMPP/xamppfiles/phplocalhost"
<Directory "/Applications/XAMPP/xamppfiles/phplocalhost">

 

二、对FreeTDS 进行配置。

    1.打开用文本编辑器或者终端vim 对/Applications/XAMPP/xamppfiles/etc中的freetds.conf 文件进行配置。在末位填入以下内容。

        

    上面的 mstest 就是我们自己决定的一个名字,在连接数据库或者配置 ODBC 数据源的时候需要通过它来引用。port 1433 一般不需要修改。client charset 指定为 UTF-8,为了解决中文乱码而添加。

         2、 终端输入命令:

       a. cd /Applications/XAMPP/xamppfiles/bin         //转移到xampp  的目录下

         b.   ./tsql -H 数据库ip -p 端口 -U 帐号 -P 密码 -D 数据库名             //中文内容自行修改,与上图中内容相同。

      若无错误提示,说明安装成功。提示内容大概如下:

       locale charset is “GB2312″

       Default database being set to gxt100

       1>

三、安装UnixODBC。

      笔者安装的是UnixODBC-2.3.2,在根目录里的man文件夹下找到odbcinst.ini.5 和odbc.ini.5对其进行配置。

    odbcinst.ini.5

      

    odbc.ini.5

        

   使用:iodbctest "UID=sa;PWD=123;DSN=mssql 进行测试。  //帐号、密码dsn自行填充,

   若出现 '>' 箭头表示成功,说明终端在等待下一个命令。

四、编写php代码进行测试:

<?php
    //include('./adodb5/adodb.inc.php'); 
    $sql = 'select * from C_USER';
    $conn = mssql_connect('mstest', 'sa', '123')or die('Could not connect to the server!');
    mssql_select_db('wx_turnplate') or die('Could not select a database.');
   $result = mssql_query($sql)or die('A error occured: ' . mysql_error());
    
    while (($Row = mssql_fetch_assoc($result)))
    {
         print $Row['U_name'] . "<br\>";//字段名U_name 用户名。
    }
    mssql_close($conn);
?>

 

oops: have fun~

 

 

转载于:https://www.cnblogs.com/try2do-neo/p/3457323.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值