如何连接来自两个不同数据库(ms.access 和 mysql)的三个表?

Posted

技术标签:

【中文标题】如何连接来自两个不同数据库(ms.access 和 mysql)的三个表?【英文标题】:How do I join three tables from two different databases(ms.access and mysql)? 【发布时间】:2013-08-05 07:34:20 【问题描述】:

我想加入来自两个不同数据库(ms.access 和 mysql)的三个表,但我有错误

致命错误:在第 69 行调用 C:\xampp\htdocs\job\system\hrd\view_absensi.php 中非对象的成员函数 fetch()

这是我的代码

<?php include"koneksi.php"; 
 $sql=$dbsql+$dbaccess->query(" attach database dbsql.db as db1
                                attach database dbaccess.db as db2
                                SELECT * p.nip,p.nama,abs.Date_Time
                                FROM 
                                   $db1.HR_Personnel as pabs
                                JOIN $db1.TA_Record_Info AS abs ON abs.Per_ID = pabs.ID
                                JOIN $db2.pegawai_tetap AS p ON p.nip = pabs.Per_Code"); 
        while($p=$sql->fetch(PDO::FETCH_ASSOC))

还有这个 koneksi.php

    <?php
try
$dbsql = new PDO('mysql:host=localhost;dbname=dbpenggajian', $user='root', $pass='');
    
catch(PDOException $e)
    echo $e->getMessage();
    
try
    $dbaccess = new PDO("odbc:Driver=Microsoft Access Driver (*.mdb);Dbq=D:\\Kepegawaian Arto Moro\BACK_UP_ABSENSI\TJ_Main_Data.mdb; Uid=userName;Pwd=everyday;");
    
catch(PDOException $e)
    echo $e->getMessage();
    

?>

如何解决这个问题?谢谢你的建议

【问题讨论】:

你不能,你必须用 PHP 来解决它。 【参考方案1】:

无法连接来自两个不同数据库的三个表。

先将你的Access数据库导入mysql。

【讨论】:

我之所以“加入来自两个不同数据库的三个表”是因为数据库上的指纹系统会更新 Ms.Access 并且我想与基于 Web 的人事信息系统同步。是否导出 Ms.Access会自动与mysql同步吗?

以上是关于如何连接来自两个不同数据库(ms.access 和 mysql)的三个表?的主要内容,如果未能解决你的问题,请参考以下文章

在 Delphi 中的不同数据库中的 MS Access 连接表

如何自动断开空闲用户与 MS Access DB 的连接?

PepareStatement 使用 MS Access,其中一些值来自不同的表

如何连接到数据库 MS Access?

MS Access SQL:使用另一个表中的Sum更新连接查询

MS Access 内连接不精确匹配(通配符或类似)