0

Linux システムで mdbtools を介して Access DB に接続していますが、Active Record を介してクエリを実行すると、空の結果が返されます。エラーやログに表示されるものはありません。何か案は ?問題なくデータベースに接続し、テーブルへのアクセスや、デフォルトの PHP メソッド (odbc_exec(...) など) を使用したクエリの実行に問題はありません。

DB 接続は次のようになります。

  $db['access']['hostname'] = 'MyDB';
  $db['access']['username'] = '';
  $db['access']['password'] = '';
  $db['access']['database'] = 'MyDB';
  $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';
  $db['access']['swap_pre'] = '';
  $db['access']['autoinit'] = TRUE;
  $db['access']['stricton'] = FALSE;

odbc.ini は次のようになります。

[MyDB]
Description = My Database
Driver = /usr/lib64/libmdbodbc.so
Database = /var/database/MyDB.mdb

接続先:

$this->access = $this->load->database('access', TRUE);
4

1 に答える 1

0

次の構成でテストするMicrosoft Accessデータベースはありませんが、これにより、さまざまな構成を体験するためのアイデアが得られるはずです。構成でデータソース名を指定できます。私はcodeigniter フォーラムから設定を収集し、あなたのものとマージします。

$db['access']['hostname'] = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=/var/database/MyDB.mdb";
$db['access']['username'] = "ADODB.Connection";
$db['access']['password'] = "";
$db['access']['database'] = "/var/database/MyDB.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";
$db['access']['swap_pre'] = "";
$db['access']['autoinit'] = TRUE;
$db['access']['stricton'] = FALSE;
于 2012-02-27T03:03:44.433 に答える