私は最近phpを再び使い始めました(前回は7年前のようでした)、そして何人かの悪鬼は私にcodeigniterFrameworkを使うように勧めました。
x64IIS上のx64phpバージョンを使用して、odbcドライバーを使用してMSSQL2008R2のデータベースサーバーに接続しようとしています。これは、私がマイクロソフトが提供するphpネイティブドライバーを使用していない理由の1つであり、もう1つは、実稼働環境がCentOSであり、ところでそのドライバーを使用する意味がないためです...。
要点:アクティブレコード/ odbc構成を使用してデータベースに接続しようとすると、このエラーがスローされます
A Database Error Occurred
--------------------------
Error Number: 01000
[Microsoft][SQL Server Native Client 10.0][SQL Server]Executing SQL directly; no cursor.
SELECT * FROM (WebUsers)
Filename: C:\projects\php\test\system\database\DB_driver.php
Line Number: 330
そして、私はテーブルを取得するための単純なクエリを実行するだけです。
$query = $this->db->get('WebUsers');
return $query->result_array();
これらは私の接続設定です:
$db['default']['hostname'] = 'Driver={SQL Server Native Client 10.0};Server=localhost;Database=XXXXXXXXX;';
$db['default']['username'] = 'WWWWWW';
$db['default']['password'] = 'YYYYYY';
$db['default']['database'] = 'XXXXXXXXX';
$db['default']['dbdriver'] = 'odbc';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
それを解決する方法がわからない