Linux环境下连接Mssql 2008

浏览:4197 发布日期:2015/05/26 分类:技术分享 关键字: Linux Mssql pdo odbc
据说ThinkPHP3.2.3的数据库连接都采用PDO方式了,但Driver没有Mssql的~郁闷!
网上搜了一通,没找到Linux环境支持Sqlsrv驱动的环境配置。
研究了几天终于在Linux环境里连上了SQL Server 2008,o(∩_∩)o 哈哈!

首先,Linux环境装个驱动:Microsoft® SQL Server® ODBC Driver 1.0 for Linuxhttps://www.microsoft.com/en-us/download/details.aspx?id=28160
根据安装指引配置一下,得支持unixODBC,配置网上很多,可参考:http://my.oschina.net/xuhh/blog/173968
最后看了下phpinfo有这些了:


既然没有Mssql驱动,就增加一个吧,但PHP水平极其有限,于是就用Sqlsrv的改了改:
ThinkPHP>Library>Think>Db>Driver>Mssql.class.php......
protected $selectSql  =     'SELECT T1..............'; //可以在ThinkPHP之前版本的Mssql驱动扩展里CP
......
protected $options = array(
        PDO::ATTR_CASE              =>  PDO::CASE_LOWER,
        PDO::ATTR_ERRMODE           =>  PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_STRINGIFY_FETCHES =>  false,
        //PDO::SQLSRV_ATTR_ENCODING   =>  PDO::SQLSRV_ENCODING_UTF8, //注释掉这行
    );
......
protected function parseDsn($config){
        //Driver引自/etc/odbcinst.ini文件(下面加粗部分)
        $dsn  =   'odbc:Driver=SQL Server Native Client 11.0;Database='.$config['database'].';Server='.$config['hostname'];
......
config.php配置参考我前一篇文章。

大概这样就OK了!
最佳答案
评论( 相关
后面还有条评论,点击查看>>