2011-04-29 61 views
1

我正在從bluehost運行linux並安裝了PDO。 我希望訪問* .mdb信息,但在這種情況下,我似乎無法通過PDO的連接字符串。PDO Microsoft Access

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

生成錯誤: SQLSTATE [IM002]的SQLDriverConnect:0的unixODBC] [驅動程序管理器]數據源名稱未找到,也沒有指定默認驅動程序

我知道的路徑是正確的: /home1/[Removed] /pss/pss.md

有誰知道使用PDO庫的這個問題的任何解決方案?

+0

權限(訪問文件系統)的問題? – 2011-04-30 00:06:07

+0

除非我錯過了某些東西,否則PDO僅支持Windows上的MDB(也可能是帶Office的Mac) – 2011-04-30 01:04:03

+0

@PhilLello如果您有可能的解決方案,請將其添加爲答案而非評論。否則我不知道如何給你信用。 – dunpealslyr 2011-05-02 22:50:11

回答

2

按照要求,擴大我的評論。

Linux上的MDB支持有限;雖然MDB Tools(在Linux上使用的PDO)不提供部分只讀支持,一般情況似乎遠沒有從生產準備,爲FAQ

1.2 What does MDB Tools do

MDB Tools is an open source suite of libraries and utilities to read (and soon write) MDB database files.

1.6 Is there a roadmap?

Roughly, the plan moving forward looks like this.

  • Add index scan capability to libmdb and the SQL engine with a query plan generator.
  • Add support for adding rows to existing tables and an mdb-import tool.
  • Add full write support to libmdb and libmdbsql.
  • Extract queries, table properties, VBA script, forms.
  • mdb-check database consistancy checker and recovery tool.
  • Add joins.
  • Ability to add tables.

如果你只需要閱讀的.mdb,然後再安裝mdbtools可能夠好了。

如果你需要讀寫,或任何對路線圖的功能,且必須使用的.mdb,然後使用Windows或可能的Mac主機

如果.MDB僅僅是一個數據源,出口它到SQL和使用MySQL或PostGres(PostGres似乎有更好的ODBC支持Windows,如果這與你的項目有關)

+0

驚人的迴應!我將.mdb轉換爲.sql並自定義導入,因爲表名似乎是僞隨機的。 – dunpealslyr 2011-05-03 23:08:09