PHP5.2之PDO连接Microsoft SQL Server 2005数据库

文章作者:中山市飞娥软件工作室「Feiesoft.com」  浏览次数:2630 次  更新日期:2014-03-20

一、在SQL Server 外围应用配置器启用远程连接与自动启动MSSQLSERVER实例服务

打开【开始】→【程序】→【Microsoft SQL Server 2005】→【配置工具】→【SQL Server 外围应用配置器】,在窗口【SQL Server 2005 外围应用配置器】底部单击【服务和连接的外围应用配置器】进入【服务和连接的外围应用配置器 - localhost】:
(1)展开【MSSQLSERVER】→【Database Engine】,单击【远程连接】,选择【本地连接和远程连接复选框】,选择【仅使用 TCP/IP(T)】。
(2)展开【SQL Server Browser】,单击【服务】,在【启动类型】中单击【自动】选项,最后单击【确定】。

二、在SQL Server Configuration Manager设置Microsoft SQL Server 2005实例MSSQLSERVER远程连接端口

打开【开始】→【程序】→【Microsoft SQL Server 2005】→【SQL Server Configuration Manager】,选择【SQL Server 2005 网络配置】→【MSSQLSERVER 的协议】,双击窗口右边【TCP/IP】打开【TCP/IP属性】窗口:选择【IP地址】选择卡,在【IPALL】栏输入【TCP动态端口】= 0
【TCP端口】= 2005,单击【确定】,此时窗口返回到【SQL Server Configuration Manager】,单击左边的【SQL Server 2005服务】,这时在窗口右边重新启动【SQL Server(MSSQLSERVER)】与【SQL Server Browser】服务。

三、在Apache+PHP搭建连接SQL Server 2005的必要环境
(1)修改 php.ini
extension=php_mssql.dll
extension=php_pdo.dll
extension=php_pdo_mssql.dll
mssql.secure_connection = Off
(2)将ntwdblib.dll 2000.80.194.0文件(下载地址:http://pan.baidu.com/s/1c0FyNza)复制到apache/bin或系统system32目录
(3)重启Apache,测试代码pdo_mssql_2005_test.php
<?php
 try {
  $dsn = 'mssql:host=localhost,2005;dbname=feiebook_database_2014';
  $uid = 'sa';
  $psw = 'sa';
  $db = new PDO($dsn,$uid,$psw);
  $sm = $db->prepare('SELECT * FROM [Table_sfb]');
  $sm->execute();
  $result = $sm->fetchAll(PDO::FETCH_ASSOC);
  print_r($result);
  $db=null;
 } catch (PDOException $e) {
  echo '连接 MSSQL2005 数据库出错:' . $e->getMessage();
  $db=null;
 }
?>