【发布时间】:2011-10-19 03:46:29
【问题描述】:
升级了一个(开发)Cake PHP 站点,并且不得不将数据库驱动程序从 ADO 更改为 SQL Server 自己的驱动程序,因为 Cake 1.3 不再支持 ADO,I .新的 SQL Server 驱动程序安装在 PHP 中,显示在 PHPinfo() 中并且应该可以工作,但是当我尝试使用数据库加载页面时,出现此错误:
Warning (2): sqlsrv_query() expects parameter 1 to be resource, boolean given
[APP\plugins\datasources\models\datasources\dbo\dbo_sqlsrv.php, line 184]
Warning (512): SQL Error: An invalid parameter was passed to sqlsrv_query.
[CORE\cake\libs\model\datasources\dbo_source.php, line 684]
Query: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
似乎正在发生的事情是我的连接没有在 dbo_sqlsrv.php 驱动程序中建立;一个“$this->connection”变量应该是连接资源,然后传递给 sqlsrv_query(),它显然是一个错误的布尔值(我试图回显该变量,但它什么也不显示)。
这是应该设置连接的地方:
sqlsrv_connect($this->config['host'] . $port, $params)
打印传入的变量会给我这个:
SRV, 1433 Array ( [Database] => DB [CharacterSet] => char
[MultipleActiveResultSets] => [UID] => sa [PWD] => password )
这些参数中的每一个都是正确的,我是否应该以特定的方式格式化或更改此驱动程序的数据库配置数组,或者我缺少什么?
【问题讨论】:
标签: php sql-server database cakephp