MySql - 连接到外部数据库表

时间:2016-02-18 16:51:13

标签: mysql database db2-400

我有两个数据库连接到同一个网络(但服务器不同),一个在MySql中,一个在DB2中(AS / 400)。从我正在开发的Windows客户端应用程序,我需要连接到位于两个数据库上的表,但我希望客户端只能访问MySql服务器。

我需要在MySql中拥有位于DB2数据库中的某个表的“副本”,以便mysql充当客户端和db2之间的“桥梁”。我正在尝试使用联合表,但它似乎只能在两个mysql数据库之间工作。如果有帮助,我可以通过ODBC驱动程序访问db2数据库。

为了更好地解释:

Now:
    C        MySql         DB2
    L ------ table1
    I ------ table2
    E                      table3
    N                      table4
    T

I need:
    C        MySql         DB2
    L ------ table1
    I ------ table2
    E ------ table3 ------ table3
    N ------ table4 ------ table4
    T                 ^
                      |___ How?

引用模式,每次客户端尝试在MySql中查询“table3”时,MySql服务器应首先向DB2查询table3,然后将表返回给客户端。是否可以使用MySql?

1 个答案:

答案 0 :(得分:0)

不,mysql中没有这样的功能可以让你连接到另一种类型的数据库。联合表引擎只能连接到远程mysql数据库。

你必须研究外部工具(mysql proxy,mysql datacontroller?)才能达到预期的效果。如果有任何工具支持与DB2的连接。

从技术上讲,您可以在可以连接到DB2数据库的现有联合表引擎上创建自己的表引擎,但这似乎对项目来说太过分了。

您可能必须实现一种应用程序服务器,它可以连接到两个数据库,而客户端只能与应用程序服务器层联系。