我的网站托管在bluehost.com(Linux服务器)上,我有一个用例,我必须将一些特定数据导出导出到MS Access文件,
我有以下代码连接MS Access文件:
$dbh = null;
try{
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$file_path", $user_name, $password, $db_info);
}catch(PDOException $e){
echo $e->getMessage();
}
return $dbh;
但是当我在托管服务器上运行上面的代码比我得到错误 SQLSTATE [IM002] SQLDriverConnect:0 [unixODBC] [驱动程序管理器]未找到数据源名称,并且未指定默认驱动程序
稍后经过一些搜索后,我将数据库连接的代码更改为
try{
$conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$file_path", ACCESS_DB_USERNAME, ACCESS_DB_PASSWORD);
}catch(Exception $ex){
echo $ex->getMessage();
}
在上面的代码我没有得到任何异常,但$ conn是NULL,两个代码片段在我的本地Windows机器上正常工作,
你能帮我解决问题吗?我想建立连接,并希望在MS Access DB上运行INSERT INTO语句。
答案 0 :(得分:1)
docs for odbc_connect说它会返回两件事之一。
您的代码应该查找FALSE,而不是例外。
文档还提供了几种不同类型连接的示例。但我认为Bluehost在其所有Linux服务器上安装Microsoft Access驱动程序的可能性都小于零。