FuelPHPからSQL Serverへの接続するときのdb.phpの書き方

FuelPHPからデータベースに接続するにはdb.phpを編集すればいいのだが、Microsoft SQL Serverへの接続がうまくいかなかったので、設定方法をメモしておく。

動作環境

  • Windows Server 2012 R2 (x64)
  • PHP 5.6.11 (x64)
  • SQL Server 2014
  • FuelPHP 1.7.3

要件

FuelPHPにはSQL Serverの専用コネクタがないので、PDO(PHP Data Object)を用いる。なお、PHPにpdo_sqlsrvドライバーがインストールされている必要がある。

db.phpの設定

fuel/app/config/db.phpfuel/app/config/development/db.phpの内容は下記のように設定する。

return array(
  'default' => array(
    'type' => 'pdo', // PDO を利用
    'connection' => array(
      'dsn' => 'sqlsrv:Server=HOST;Database=DATABASE;',
      'username' => 'USERNAME',
      'password' => 'READER',
      'persistent' => false,
    ),
    'identifier' => '',
    'table_prefix' => 't_', // テーブルプリフィックスが必要な場合
    'charset' => NULL,
  ),
);

typepdoconnection.dsnには接頭辞をsqlsrv:としてServerにホスト名を指定することが重要。

なお、connection.dsnに設定するDSN文字列の詳細は PHP: PDO_SQLSRV DSN – Manual に詳しい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です