Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya boleh menyertai pangkalan data pada pelayan berbeza dalam MySQL dan MS SQL Server?

Bagaimanakah saya boleh menyertai pangkalan data pada pelayan berbeza dalam MySQL dan MS SQL Server?

Susan Sarandon
Susan Sarandonasal
2024-11-14 12:36:02516semak imbas

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

Menggunakan Enjin Penyimpanan PERSEKUTUAN dan Pelayan Terpaut untuk Menyertai Pangkalan Data pada Pelayan Berbeza

Dalam MySQL, anda boleh menyambung ke berbilang pangkalan data pada pelayan berbeza dan melakukan gabungan antara mereka. Ini boleh dicapai menggunakan sama ada Enjin Storan BERSEKUTU atau dengan menggunakan pelayan terpaut dalam DBMS lain, seperti Pelayan MS SQL.

Enjin Storan BERSEKUTU

Enjin Storan FEDERATED membolehkan anda mencipta maya jadual yang merujuk jadual pada pelayan lain. Untuk menggunakan FEDERATED, anda perlu mencipta pembungkus data asing yang menentukan parameter sambungan untuk pelayan jauh. Sebaik sahaja anda telah mencipta pembungkus data asing, anda boleh mencipta jadual bersekutu yang merujuk kepada jadual jauh. Jadual bersekutu kemudiannya boleh digunakan dalam pertanyaan sama seperti jadual lain.

Berikut ialah contoh cara membuat jadual bersekutu:

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

Setelah jadual bersekutu telah dibuat, anda boleh menggunakannya dalam pertanyaan sama seperti jadual lain:

SELECT * FROM my_table;

Pelayan Terpaut dalam MS SQL Pelayan

Jika anda menggunakan MS SQL Server, anda boleh menggunakan pelayan terpaut untuk menyambung ke pangkalan data lain pada pelayan yang berbeza. Pelayan terpaut membolehkan anda melaksanakan pertanyaan terhadap jadual jauh seolah-olah ia adalah jadual setempat.

Untuk mencipta pelayan terpaut, gunakan prosedur tersimpan sp_addlinkedserver:

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

Setelah pelayan dipautkan dicipta, anda boleh menggunakannya dalam pertanyaan sama seperti pelayan lain:

SELECT * FROM server2.my_database.dbo.my_table;

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyertai pangkalan data pada pelayan berbeza dalam MySQL dan MS SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn