【问题标题】:Read binary data from a MDB-file running under LAMP从 LAMP 下运行的 MDB 文件读取二进制数据
【发布时间】:2010-06-05 09:32:03
【问题描述】:

我需要能够连接到 LAMP 环境(在 Linux 上运行)中的 MDB 文件,并最终将转换后的数据插入到 Mysql 数据库中。

  • 存储了我需要访问的数据 作为一个 BLOB (Long Binary Data 根据 访问)在 MDB 文件中。我有 还不能真正拥有 查看数据,但有人告诉我 BLOB 由字节组成 字符串。沿线的东西 的:

    0x1c 0x10 0x27 0x00 0x00

  • 我需要解析字节字符串和 将这些转换为
    人类可读。我确实可以访问
    解释
    的文档 各种字节串。

所以这真的是两个问题:

  1. 如何访问 MDB 文件 通过 PHP*(在 LAMP 下运行)并读取 BLOB(我没有 可以访问 Windows 平台)?
  2. 什么是最好的解析方式 二进制数据(在 PHP* 中)一旦我 能够连接到 MDB 文件吗?

*或者还有其他更合适的方法/语言吗?

【问题讨论】:

    标签: php mysql odbc jet


    【解决方案1】:

    有一个连接到基于 Linux 的 MDB 解析工具的 PECL 库。

    Reading Access Databases with PHP and PECL

    在本文中,我将向您介绍 PHP 的 MDBTools 扩展,它提供了一个 API 以编程方式从 Microsoft Access 数据库文件中读取数据。如果您的项目涉及使用此类文件、提取数据库记录以进行计算或转换为其他格式,您会发现此扩展非常宝贵。来吧,看看它是如何工作的!

    您可能需要服务器上的管理员访问权限才能安装必要的库。

    如果您可以使用 Windows 服务器,您应该可以使用ADODb 或通过 Windows COM 直接使用 ODBC 连接到文件,如this blog entry 所示。

    【讨论】:

    • 很遗憾,我无法访问 Windows 服务器。生产将在运行 LAMP 的托管环境中进行。我刚刚检查过,我的提供商没有 mdbtools。我已经研究过使用 PDO,如下所述:stackoverflow.com/questions/1605473/… 但似乎托管环境中的 PHP 在编译时支持 PDO/ODBC。哦,好吧...
    • @Buster 我认为任何基于 PDO/ADOdb/ODBC 的解决方案总是需要一个实时数据源来读取 MDB 文件——AFAIK 只能在 Windows 上获得。太糟糕了...您可能必须将其转换为更易于阅读的内容,例如CSV 或 Excel。
    • @Pekka 我希望阅读有关 PDO(和 ADOdb)并使用无 DSN 连接的信息,但似乎这两种模型都需要 Windows。 sigh ...好吧,我们还有问题的第 2 部分,所以也许我们可以在我去寻找可以让我安装 Windows 的 VPS 提供商时专注于这个问题?
    • @BusterX 是的,看起来您需要一个 PHP 库来读取原始 MDB 文件来执行此操作。
    • @Buster 你问题的第二部分不是很清楚。 “人类可读”是什么意思?另外,值得在 IMO 上提出一个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 2015-04-23
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 2019-04-04
    相关资源
    最近更新 更多