【发布时间】:2011-01-14 10:14:56
【问题描述】:
我已成功查询 Microsoft Access 2003 数据库(.mdb 文件),现在我尝试对 Microsft Access 2007 执行相同操作。我尝试了以下方法:
if($type[1]=='accdb'){
echo 'accdb';
//2007 Microsoft Access
$connection = odbc_connect("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=$mdbFilename;Persist Security Info=False;", $username, $password);
}else{
echo 'mdb';
//2000, 2003 Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $username, $password);
}
但是,对于 access 2007 数据库,我收到此错误:
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager]
Data source name not found and no default driver specified, SQL state IM002in SQLConnect
in E:\export.php on line 38
【问题讨论】:
-
这只是我的数据库的路径,它从 C:\Users\A\Documents\tester_07.accdb 更改为 C:\Users\A\Documents\tester.mdb。
-
你是在问我的路径是否有空格。
-
ACE 是向后兼容的,因此没有理由将 Jet 4 用于较旧的数据(即 MDB),除非它真的旧的,例如 Jet 2。 x 或 3.x(ACE 可能能够处理 Jet 3.x——我不确定,也不想花时间重新注册 A2007)。