CodeIgniter链接ms sql 的过程windows 2008

一般php都是用mysql数据库,但有时也会用到mssql,如我现在做这项目就需要连接第三方的mssql数据库。他们不提供API,只给数据库去连接,没办法。

PHP在Windows 2008 R2的配置办法:

IIS7出来后,我就喜欢这iis7的配置。 主要利器是Web Platform Installer,会节省你很多很多时间。下载地址:http://www.iis.net/downloads ,下载下来安装好后在iis站点的主页就可以看到一个web 平台安装程序 ,打开他搜索php, 然后就有如下:

选择安装好 php for sql server,就可以了。不用那么麻烦。

刚开始准备是用odbc的。但CI的odbc有点问题。 见这:
http://stackoverflow.com/questions/10984651/error-executing-queries-in-sql-server-native-client-10-0

还发现问题就是如果字段有中文,就会出错。 后台修改成

//$db['sqlserver']['hostname'] = "Driver={SQL Server Native Client 11.0};Server=192.168.1.2;Database=doxxxP;";
$db['sqlserver']['hostname'] = "192.168.1.2";
$db['sqlserver']['username'] = "randy";
$db['sqlserver']['password'] = "pwduser";
$db['sqlserver']['database'] = "dotnxxxxERP";
/**/
/*
$db['sqlserver']['hostname'] = 'RANDY\Sql2008';
$db['sqlserver']['username'] = "sa";
$db['sqlserver']['password'] = "password";
$db['sqlserver']['database'] = "db5";
*/
//$db['sqlserver']['dbdriver'] = "odbc";
$db['sqlserver']['dbdriver'] = "sqlsrv";
$db['sqlserver']['dbprefix'] = "";
$db['sqlserver']['pconnect'] = FALSE;
$db['sqlserver']['db_debug'] = TRUE;
$db['sqlserver']['cache_on'] = FALSE;
$db['sqlserver']['cachedir'] = "";
$db['sqlserver']['char_set'] = "utf8";
$db['sqlserver']['dbcollat'] = "utf8_general_ci";

修改成sqlsrv,就搞定

然后测试:

         $msdb = $this->load->database('sqlserver', TRUE); 
         $sql = "SELECT * FROM [VCRM] ";
         $list = $msdb -> query($sql)-> result_array();

就有数据了。这样比其他配置都快。已经测试。

改天写一下linux的php连接mssql。

posted on 2013-03-26 17:35  myx  阅读(1746)  评论(0)    收藏  举报