Maison > base de données > tutoriel mysql > le corps du texte

Comment puis-je rejoindre des bases de données sur différents serveurs dans MySQL et MS SQL Server ?

Susan Sarandon
Libérer: 2024-11-14 12:36:02
original
511 Les gens l'ont consulté

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

Utilisation du moteur de stockage FÉDÉRÉ et des serveurs liés pour joindre des bases de données sur différents serveurs

Dans MySQL, vous pouvez vous connecter à plusieurs bases de données sur différents serveurs et effectuer des jointures entre elles. Ceci peut être réalisé en utilisant soit le moteur de stockage FEDERATED, soit en utilisant des serveurs liés dans un autre SGBD, tel que MS SQL Server.

Moteur de stockage FEDERATED

Le moteur de stockage FEDERATED vous permet de créer un table qui référence des tables sur d’autres serveurs. Pour utiliser FEDERATED, vous devez créer un wrapper de données étrangères qui spécifie les paramètres de connexion pour le serveur distant. Une fois que vous avez créé le wrapper de données étrangères, vous pouvez créer une table fédérée qui fait référence à la table distante. La table fédérée peut ensuite être utilisée dans des requêtes comme n'importe quelle autre table.

Voici un exemple de création d'une table fédérée :

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'
  );
Copier après la connexion

Une fois la table fédérée créée, vous pouvez l'utiliser dans des requêtes comme n'importe quelle autre table :

SELECT * FROM my_table;
Copier après la connexion

Serveurs liés dans MS SQL Serveur

Si vous utilisez MS SQL Server, vous pouvez utiliser des serveurs liés pour vous connecter à d'autres bases de données sur différents serveurs. Les serveurs liés vous permettent d'exécuter des requêtes sur des tables distantes comme s'il s'agissait de tables locales.

Pour créer un serveur lié, utilisez la procédure stockée sp_addlinkedserver :

EXEC sp_addlinkedserver
  @server = 'server2',
  @srvproduct = 'MySQL'
Copier après la connexion

Une fois que le serveur lié a été créé, vous pouvez l'utiliser dans des requêtes comme n'importe quel autre serveur :

SELECT * FROM server2.my_database.dbo.my_table;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal