有人让我做一些研究来获得以下结果,也许你们可以帮我,并给我一些建议。
我们有一个本地服务器,上面有不同的"作业"(在MS Access数据库中)。
现在,我们想创建一个平台,让其他用户可以从MS Access数据库中使用不同的参数(字段名等)检查他们的"工作状态"。
我正在寻找最佳实践,如何从世界各地连接到这个数据库。我已经做了一些研究,发现了以下链接:
http://phpmaster.com/using-an-access-database-with-php/http://www.php.net/manual/en/function.odbc-connect.php
- 如何连接web应用程序和MS Access数据库
- 我可以实时更新吗
- 服务器需要支持什么样的协议才能与网站进行交互
- 目前,可以通过VPN连接从外部访问服务器
我已经尝试过的一段代码:
try{
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=Custos_TAB.accdb;Uid=Admin");
}catch(PDOException $e){
echo $e->getMessage();
}
我收到以下错误:"找不到驱动程序"。
假设您在web服务器上安装并启用了PDO odbc驱动程序,请尝试此操作。
$user='Admin';
$password='';
$mdbFilename="Custos_TAB.accdb";
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$mdbFilename", $user, $password);
$sql="SELECT * FROM [tblHere]";
$rs=odbc_exec($connection,$sql);
//do stuff here
odbc_close($connection);
或
$user='Admin';
$password='';
/*if you have a path here such as c:'db'Custos_TAB.accdb, make sure to use double
backslashes, (i.e "c:''db''Custos_TAB.accdb")*/
$mdbFilename="Custos_TAB.accdb";
$conn = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$mdbFilename;Uid=$user='Admin';Pwd=$password;");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- 首先停止运行服务(如果有)
- 打开
php.ini
文件并取消注释php_pdo_odbc
的扩展名 - 再次启动服务(如果需要)
- 确保在
Dbq=Custos_TAB.accdb
中正确定位数据库
//Just an example in my case
Dbq=C:'Users'Server'Documents'Db1.accdb