使用ODBC_CONNECT连接到MS Access 2007 - 驱动程序中出错?
问题描述:
我在查询一个Microsoft Access 2003数据库(.mdb文件)是成功的,现在我想的的Microsft Access 2007年。我曾尝试以下做同样的:使用ODBC_CONNECT连接到MS 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);
}
然而,对于访问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
答
如果有人想知道如何做到这一点。这对我有效。
try{
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$mdbFilename", $username, $password);
}catch(PDOException $e){
echo $e->getMessage();
}
答
IKIK这是超级挖掘坟墓,但..
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" . $mdbFilename, $username, $password);
这应该工作。
+0
为什么要发布与接受的答案相同的答案,并且代码比接受的代码差? – Konstantin 2017-06-29 06:55:22
你可以发布$ mdbFilename吗? – 2010-02-08 15:44:58
这只是我的数据库的路径,它从C:\ Users \ A \ Documents \ tester_07.accdb更改为C:\ Users \ A \ Documents \ tester.mdb。 – Abs 2010-02-08 15:45:52
如果我的路径中有空格,你是否问过。 – Abs 2010-02-08 15:47:01