0

有人让我做一些研究以达到以下结果,也许你们可以帮助我,给我一些建议。

我们有一个本地服务器,上面有不同的“工作”(在 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();
}

我收到以下错误:“找不到驱动程序”。

4

2 回答 2

1

试试这个,假设您在 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);
于 2014-08-06T22:23:09.640 回答
0
  • 首先停止运行服务(如果有的话)
  • 打开php.ini文件并取消注释扩展名php_pdo_odbc
  • 再次启动服务(如果需要)
  • 确保正确定位数据库Dbq=Custos_TAB.accdb

//Just an example in my case

Dbq=C:\Users\Server\Documents\Db1.accdb

于 2016-05-11T08:52:54.933 回答