<p>Linux 平台应用最广泛的数据库应该还是MYSQL ,但项目必须要用到MS SQL SERVER 做为主数据库。而网站程序却要用PHP 来写。无奈之下只能苦寻在LINUX下配置 访问MS SQL SERVER的方法。</p>

<h2 id="toc_1">安装基本环境</h2>

<h3 id="toc_2">安装lnmp</h3>

<p>现在安装很方便,一键包点几下就完成,推荐军哥的LNMP</p>

<h3 id="toc_3">安装FreeTDS 组件</h3>

wget http://mirrors.ibiblio.org/freetds/stable/freetds-stable.tgz
tar zxvf freetds-stable.tgz
cd freetds-0.91/
./configure --enable-msdblib --prefix=/usr/local/freetds
make && make install

<h3 id="toc_4">为php 添加 mssql支持</h3>

<p>进入lnmp的安装包源代码处配置并编译</p>
cd lnmp1.3*/src/
tar zxvf php-5.4.45.tar.gz
cd php-5.4.45/ext/mssql/ 
#使用phpize生成configure脚本文件
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make && make install

<p>然后编辑 /usr/local/php/etc/php.ini<br/>
在extension = "pdo_mysql.so"下面添加<br/>
extension = "mssql.so"</p>

<p>保存后,/root/lnmp restart 重启lnmp即可使php 支持mssql</p>

<h2 id="toc_5">配置FreeTDS</h2>

<h3 id="toc_6">配置数据库源</h3>

<p>FreeTDS类似于windows 中的数据源,需要先配置才能使用</p>

<p>修改freetds配置文件</p>

vi /usr/local/freetds/etc/freetds.conf

<p>在文件末尾添加以下类似配置添加SQL SERVER服务器信息后保存</p>

[Server1]
        host = 192.168.1.2 #sql server 服务器1
        port = 1433 # sql server 服务端口
        tds version = 7.0  # sql server 2000
[Server2]
        host = 192.168.1.5 #服务器2
        port = 1433
        tds version = 8.0  # sql server 2005/2008

<h3 id="toc_7">测试连接数据库</h3>

/usr/local/freetds/bin/tsql -S Server1 -U 用户名 -P  密码

<p>命令行若显示以下内容的话则成功证明成功!</p>

locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>

<h3 id="toc_8">数据库查询</h3>

locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>use ErpData
1>go
1>select * from emplyee
1>go
1>###每次输完语句后需要再输一次go 才会真正执行语句

<h3 id="toc_9">PHP使用MSSQL</h3>


//连接数据库
$msdb=mssql_connect("Server1","数据库用户名","密码") or die("Can't connect sql server");
mssql_select_db("ErpData",$msdb); //选择数据库
$sql="select * from emplyee where id=1";
$result = mssql_query($sql, $msdb);
if($row=mssql_fetch_array($result))
 {
  $empcode = $row[0];
 }
mssql_free_result($result);//清空记录集
mssql_close($msdb);//关闭数据库连接
最后修改:2017 年 06 月 15 日 10 : 02 AM
如果觉得我的文章对你有用,请随意赞赏