首页  >  文章  >  数据库  >  如何在 MySQL 和 MS SQL Server 中连接不同服务器上的数据库?

如何在 MySQL 和 MS SQL Server 中连接不同服务器上的数据库?

Susan Sarandon
Susan Sarandon原创
2024-11-14 12:36:02516浏览

How can I join databases on different servers in MySQL and MS SQL Server?

使用 FEDERATED 存储引擎和链接服务器连接不同服务器上的数据库

在 MySQL 中,您可以连接到不同服务器上的多个数据库并在它们之间执行连接。这可以使用 FEDERATED 存储引擎或使用另一个 DBMS(例如 MS SQL Server)中的链接服务器来实现。

FEDERATED 存储引擎

FEDERATED 存储引擎允许您创建虚拟引用其他服务器上的表的表。要使用 FEDERATED,您需要创建一个外部数据包装器来指定远程服务器的连接参数。创建外部数据包装器后,您可以创建引用远程表的联合表。然后,可以像任何其他表一样在查询中使用联合表。

以下是如何创建联合表的示例:

CREATE FOREIGN DATA WRAPPER my_wrapper
  OPTIONS (
    HOST 'server2',
    PORT '3306',
    USER 'username',
    PASSWORD 'password'
  );

CREATE FOREIGN TABLE my_table
  (
    id INT,
    name VARCHAR(255)
  )
  SERVER my_wrapper
  OPTIONS (
    TABLE_NAME 'my_table'
  );

创建联合表后,您可以像任何其他表一样在查询中使用它:

SELECT * FROM my_table;

MS SQL Server 中的链接服务器

如果您使用 MS SQL Server,您可以使用链接服务器连接到其他不同服务器上的数据库。链接服务器允许您对远程表执行查询,就像它们是本地表一样。

要创建链接服务器,请使用 sp_addlinkedserver 存储过程:

EXEC sp_addlinkedserver
  @server = 'server2',
  @srvproduct = 'MySQL'

链接服务器创建后创建后,您可以像任何其他服务器一样在查询中使用它:

SELECT * FROM server2.my_database.dbo.my_table;

以上是如何在 MySQL 和 MS SQL Server 中连接不同服务器上的数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn