如何向CodeIgniter或CakePHP添加MS Access连接?
-
05-07-2019 - |
题
我正在尝试将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['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";
解决方案
尝试设置DSN并更改为以下内容:
$db['access']['hostname'] = "<dsn name>";
$db['access']['username'] = "";
$db['access']['password'] = "";
$db['access']['database'] = "<dsn name>";
CodeIgniter文档中还有一节用于解决连接字符串:
其他提示
是否可以使用SQL Express(免费!)引擎代替导入/导出MS Access数据库?你可以稍后再感谢我。 : - )
另一个选择是使用ADOdb库而不是CI的本机数据库库,虽然您将失去CI的Active Record支持,并且必须重写CI中的某些库才能使用它,但如果您仍然需要它,那么它是值得的使用CI与您的应用程序不支持的数据库。当Postgres实施中存在错误时,我必须尽早完成。
不隶属于 StackOverflow