3

我正在尝试将 Microsoft Access 数据库用于我正在考虑在 CodeIgniter 或 CakePHP 中进行的演示项目。忽略使用 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 数据库?你可以稍后感谢我。:-)

另一种选择是使用 ADOdb 库而不是 CI 的本机 DB 库,尽管您将失去 CI 的 Active Record 支持,并且必须在 CI 中重写某些库才能使用它,但如果您仍然想使用 CI,这是值得的使用您的应用程序不支持的数据库。当 Postgres 实现中出现错误时,我必须尽早这样做。

于 2008-11-04T02:46:31.290 回答