【问题标题】:How do I add an MSAccess connection to CodeIgniter or CakePHP?如何向 CodeIgniter 或 CakePHP 添加 MSAccess 连接?
【发布时间】:2008-10-07 14:59:54
【问题描述】:

我正在尝试将 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";

【问题讨论】:

    标签: database ms-access cakephp codeigniter


    【解决方案1】:

    尝试设置 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

    【讨论】:

      【解决方案2】:

      是否可以改用 SQL Express(免费!)引擎来导入/导出您的 MS Access 数据库?你可以稍后感谢我。 :-)

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

      【讨论】:

        猜你喜欢
        • 2013-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-04
        • 1970-01-01
        • 2011-02-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多