简体   繁体   中英

Connecting to a MS Access database

Someone asked me to do some research to achieve the following result, maybe you guys can help me out an suggest me some tips.

We have a local server and there are different 'jobs' on it ( in a MS Access ) Database.

Now we want to create a platform where other users can check their "job status" with different parameters ( field names etc ) from the MS Access database.

I am looking for the best practice, how to connect to this database from everywhere in the world. I already did some research and found the following links:

http://phpmaster.com/using-an-access-database-with-php/ http://www.php.net/manual/en/function.odbc-connect.php

  • How can I connect between a web-application and that MS Access database
  • Can I update it realtime
  • What kind of protocol does the servers has to support to intereact with a website?
  • Currently the server can be reached from outside via a VPN connection.

A piece of code I've already tried :

try{
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=Custos_TAB.accdb;Uid=Admin");
}catch(PDOException $e){
echo $e->getMessage();
}

I received the following error : "could not find driver".

Try this, assuming you have the PDO odbc driver installed and enabled on the web server.

$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);

or

 $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);
  • Stop running services first (if there's any)
  • Open the php.ini file and uncomment the extension for php_pdo_odbc
  • Start services again (if needed)
  • Make sure you correctly locate your database in Dbq=Custos_TAB.accdb

//Just an example in my case

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM