3

CodeIgniter または CakePHP で実行することを考えているデモ プロジェクトに Microsoft Access データベースを使用しようとしています。Microsoft Access を使用することの愚かさを無視して、接続文字列がフレームワークのデータベース設定にどのように対応するかを正確に理解することはできませんでした。PHP では、次のコードを使用して Access データベースに接続できます。

$db_connection = odbc_connect(
  "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\\path\\to\\db.mdb", 
  "ADODB.Connection", "", "SQL_CUR_USE_ODBC"
);

これらの文字列は、Code Igniter db 設定にどのように対応していますか? これはあまり機能していないようです:

$db['access']['hostname'] = "{Microsoft Access Driver (*.mdb)}";
$db['access']['username'] = "ADODB.Connection";
$db['access']['password'] = "";
$db['access']['database'] = "\\path\\to\\db.mdb";
$db['access']['dbdriver'] = "odbc";
$db['access']['dbprefix'] = "";
$db['access']['pconnect'] = TRUE;
$db['access']['db_debug'] = TRUE;
$db['access']['cache_on'] = FALSE;
$db['access']['cachedir'] = "";
$db['access']['char_set'] = "utf8";
$db['access']['dbcollat'] = "utf8_general_ci";
4

2 に答える 2

2

DSN をセットアップして、次のように変更してみてください。

$db['access']['hostname'] = "<dsn name>";
$db['access']['username'] = "";
$db['access']['password'] = "";
$db['access']['database'] = "<dsn name>";

CodeIgniter のドキュメントには、接続文字列に対処するセクションもあります。

http://codeigniter.com/user_guide/database/connecting.html

于 2008-11-04T01:38:06.297 に答える
0

代わりに SQL Express (無料!) エンジンを使用して、MS Access データベースをインポート/エクスポートすることはできますか? 後で私に感謝することができます。:-)

もう 1 つのオプションは、CI のネイティブ DB ライブラリの代わりに ADOdb ライブラリを使用することです。ただし、CI から Active Record のサポートが失われ、CI で特定のライブラリを書き直して利用する必要がありますが、それでも CI を使用したい場合は価値があります。アプリケーションでサポートされていない DB を使用します。Postgres の実装にバグがあったとき、早い段階でやらなければなりませんでした。

于 2008-11-04T02:46:31.290 に答える