【问题标题】:PDO Microsoft AccessPDO 微软访问
【发布时间】:2011-04-29 23:59:14
【问题描述】:

我正在从 bluehost 运行 linux 并安装了 PDO。 我希望访问 *.mdb 信息,但是在这种情况下我似乎无法通过 PDO 的连接字符串。

$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdb;Uid=Admin");

产生错误: SQLSTATE[IM002] SQLDriverConnect: 0 [unixODBC][Driver Manager]未找到数据源名称,且未指定默认驱动程序

我知道路径是正确的: /home1/[已删除]/pss/pss.md

有人知道使用 PDO 库解决此问题的任何方法吗?

【问题讨论】:

  • 权限(访问文件系统)问题?
  • 除非我遗漏了什么,否则 PDO 仅支持 Windows 上的 MDB(可能还有带有 Office 的 Mac)
  • @PhilLello 如果您有可能的解决方案,请将其添加为答案而不是评论。否则我不知道如何给你信用。

标签: php database linux connection pdo


【解决方案1】:

根据要求,扩展我的评论。

Linux 上的 MDB 支持有限;尽管MDB Tools(由 Linux 上的 PDO 使用)确实提供了部分只读支持,但总体状态似乎远未准备好生产,正如FAQ 所说的那样

1.2 MDB 工具有什么作用

MDB Tools 是一个开源的库和实用程序套件,可供阅读 (并很快写)MDB 数据库文件。

1.6 有路线图吗?

大致来说,前进的计划是这样的。

  • 为 libmdb 和带有查询的 SQL 引擎添加索引扫描功能 计划生成器。
  • 添加对向现有表和 mdb-import 添加行的支持 工具。
  • 为 libmdb 和 libmdbsql 添加完整的写入支持。
  • 提取查询、表属性、VBA 脚本、表单。
  • mdb-check 数据库一致性检查器和恢复工具。
  • 添加连接。
  • 能够添加表格。

如果您只需要阅读 .mdb,那么安装 mdbtools 可能就足够了。

如果您需要读写或路线图上的任何功能,并且必须使用 .mdb,则使用 Windows 或可能Mac 主机

如果 .mdb 只是一个数据源,请将其导出到 SQL 并使用 MySQL 或 PostGres(如果这与您的项目相关,PostGres 似乎对 Windows 有更好的 ODBC 支持)

【讨论】:

  • 惊人的反应!我正在将 .mdb 转换为 .sql 并自定义导入,因为表名似乎是伪随机的。
猜你喜欢
  • 2013-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多