ケーキPHPサイトをアップグレードし、ADOがCake 1.3、Iでサポートされなくなったため、データベースドライバをADOからSQL Serverの独自のドライバに変更する必要がありました。新しいSQL Serverドライバは、PHPにインストールされている、(のphpinfoに表示されます)と動作するはずですが、私はデータベースを使用してページをロードしようとすると、私はこのエラーを取得する:Cake PHP SQL Serverドライバを使用しているエラー
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()に渡された接続リソースとみなされ、明らかにboolが間違っています(変数をエコーしようとしましたが、何も表示しません)。
接続を設定するべきである場所です:
sqlsrv_connect($this->config['host'] . $port, $params)
が渡された変数を印刷する私にこれを与える:これらのパラメータのそれぞれが正しい
SRV, 1433 Array ([Database] => DB [CharacterSet] => char
[MultipleActiveResultSets] => [UID] => sa [PWD] => password)
、具体的な方法があります私は、このドライバのデータベース構成アレイをフォーマットまたは変更する必要がありますか、または私が紛失しているものがありますか?
それはしかしやっているまさにだ、私はポートの情報を設定していないよ、それは右である、デフォルトのポートを使用しています。あなたの最後のコードブロックは、sqlsrv.phpドライバファイルで起こっていることとほぼ同じです。 –
あなたは単純なPHPからSQLサーバーに接続しようとしましたか? – RSK
使用しているコードをいくつか追加できますか? – RSK