Access
 sql >> Datenbank >  >> RDS >> Access

Verbinden von PHP unter Linux mit Microsoft Access auf einer Windows-Freigabe

Mit dem Microsoft Access ODBC-Treiber von Easysoft können Sie mit Datenbanken im MDB-/ACCDB-Format in Umgebungen arbeiten, in denen sowohl Linux- als auch Windows-Benutzer auf diese Datenbank zugreifen müssen.

Beispielsweise möchten Sie möglicherweise eine Windows-basierte Access-Datenbank auf einer Intranet-Website veröffentlichen, die auf einem Linux-Server basiert. Dies ist das in diesem Blog behandelte Beispiel.

Dazu:

  1. Laden Sie den Access ODBC-Treiber herunter und installieren und lizenzieren Sie ihn auf Ihrem Linux-Webserver-Computer.
  2. Ändern Sie die Datenquelle ACCESS_SAMPLE in odbc.ini so, dass sie sich mit der Datenbank auf Ihrer Windows-Freigabe verbindet. Dazu:
    [ACCESS_SAMPLE]
    Driver=Easysoft ODBC-ACCESS
    # Path to the database on Linux machine
    mdbfile=/home/samba/ms_access/Northwind.accdb
    # The SMB URL for the database file. Use this syntax for the SMB URL:
    # smb://windows_host/share/path/filename
    smbpath=smb://windows_machine/accounts_share/ms_access/Northwind.accdb
    # The path to the libsmbclient library on the Access ODBC driver machine.
    smblib=/usr/lib/libsmbclient.so
    smbuser=my_windows_user
    smbauth=my_winodws_password
    readonly=yes
    exclusive=no
    ignore_rel=no
  3. Testen Sie, ob Sie sich in isql verbinden können . Zum Beispiel:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v ACCESS_SAMPLE
  4. Installieren Sie das PHP PDO-ODBC-Paket und erstellen Sie eine PHP-Seite unter Ihrem Webserver, die eine Verbindung zur Access-Datenbank herstellt. Zum Beispiel:
    <?php
      $con = odbc_connect("odbc:ACCESS_SAMPLE", "", "");
      $err = odbc_errormsg();
      if (strlen($err) <> 0) {
        echo odbc_errormsg();
      } else {
        $rs2 = odbc_exec($con, "select * from Suppliers");
        odbc_result_all($rs2);
        odbc_close($con);
      }
    ?>

Hinweis Sie müssen Berechtigungen festlegen, damit der Benutzer, unter dem der Webserver ausgeführt wird, z. www-data, hat Schreibzugriff auf die Access-Datenbankdatei.