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~
mac os PHP 访问MSSQL的更多相关文章
- Mac OS X 访问 Windows 共享文件夹
Mac OS X 访问 Windows 共享文件夹 mac没有网络邻居,但可以使用finder访问局域网中windows共享的文件 1.点击 Finder 前往菜单中的「前往服务器」(或快捷键 com ...
- mac常用快捷键,Mac文件重命名快捷键,Mac OS快速访问系统根目录, MacOS 10.11重要数据的存储位置大全
command+r,相当于F5,刷新页面 command+F5,启动voiceover command+q 关闭当前程序 在Finder中command+/ 打开底部状态栏,可以查看剩余磁盘空间大小 ...
- Mac OS访问Windows共享文件夹
原文地址:http://blog.csdn.net/jinhill/article/details/7246922 最近开始研究Mac OS,遇到的第一个问题就是如何在Mac OS中访问Windows ...
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)
Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...
- Mac OS、Ubuntu 安装及使用 Consul
Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...
- Atitit mac os 版本 新特性 attilax大总结
Atitit mac os 版本 新特性 attilax大总结 1. Macos概述1 2. 早期2 2.1. Macintosh OS (系统 1.0) 1984年2 2.2. Mac OS 7. ...
- 在Mac OS X中配置Apache + PHP + MySQL
在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...
随机推荐
- SQL DML 和 DDL
数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如“客户”或者“订单”).表包含带有数据的记录(行). 下面的例子是一个名为 "Persons" 的表: Id L ...
- JDBC 学习笔记(三)—— JDBC 常用接口和类,JDBC 编程步骤
1. JDBC 常用接口和类 DriverManager 负责管理 JDBC 驱动的服务类,程序中主要的功能是获取连接数据库的 Connection 对象. Connection 代表一个数据库连接对 ...
- 项目记事【Hibernate-1】:调用 saveOrUpdate() 方法出错
Hibernate 版本:3.3.1 背景: 后端编辑一个对象,该对象(ProductDO)下,有一个另一个自定义对象(ProductLiabilityDO)的 OneToMany 关系,如下: @O ...
- BZOJ2302 [HAOI2011]Problem c 【dp】
题目 给n个人安排座位,先给每个人一个1~n的编号,设第i个人的编号为ai(不同人的编号可以相同),接着从第一个人开始,大家依次入座,第i个人来了以后尝试坐到ai,如果ai被占据了,就尝试ai+1,a ...
- BZOJ3534 [Sdoi2014]重建 【矩阵树定理】
题目 T国有N个城市,用若干双向道路连接.一对城市之间至多存在一条道路. 在一次洪水之后,一些道路受损无法通行.虽然已经有人开始调查道路的损毁情况,但直到现在几乎没有消息传回. 辛运的是,此前T国政府 ...
- 用cxf创建webservice服务端
用cxf创建webservice 1:在eclipse里面创建动态web工程,注意,Dynamic web module version取2.5,3.0未测试过待验证: 2:下载cxf相关的jar包, ...
- bzoj 3203 凸包+三分
题目大意 具体自己看吧link 读入n,D,表示n关 大概就是第i关有i只僵尸排成一队来打出题人 最前面那只是编号为\(i\)的僵尸,最后面的一只是编号为\(1\)的僵尸 最前面的僵尸离出题人\(X_ ...
- hdu 4418 高斯消元求期望
Time travel Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- fzu 1753 质因数的应用
Another Easy Problem Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64 ...
- javaweb学习总结(九)—— 通过Servlet生成验证码图片(转)
(每天都会更新至少一篇以上,有兴趣的可以关注)转载自孤傲苍狼 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: