CodeIgniter - Active Record возвращает пустые результаты с помощью Access ODBC - PullRequest
0 голосов
/ 26 февраля 2012

Я подключаюсь к БД доступа через mdbtools в системе Linux и при выполнении любого запроса через Active Record возвращает пустой результат. Нет ошибок или что-либо, чтобы показать в журналах. Есть идеи ? Он подключается к базе данных без проблем, и у меня нет проблем с доступом к таблицам или выполнением запросов с помощью метода PHP по умолчанию (например, odbc_exec (...)).

Соединение с БД выглядит так:

  $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);

1 Ответ

0 голосов
/ 27 февраля 2012

У меня нет базы данных Microsoft Access для тестирования со следующей конфигурацией, но я думаю, что это должно дать вам представление о другой конфигурации.Вы можете указать имя источника данных в своей конфигурации, и я собрал настройки с codeigniter forum и объединил с вашим.

$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;
...