我有mySql数据库的项目A,我有另一个带有msSql的项目B.我已从A连接数据库并从B中获取数据。但现在我需要在A和B中使用内连接。是否可以在同一服务器和不同服务器中使用数据库?任何帮助将不胜感激。
提前致谢
答案 0 :(得分:2)
是的,它应该是可能的。首先,您需要将MySQL服务器链接到MS SQL Server 见this reference。其次,您可能需要使用子查询来选择正确的列并对它们进行连接;
SELECT *
FROM
(SELECT ms_column1, ms_column2 FROM MSSQLTABLE) AS mssql
JOIN
(SELECT my_column1, my_column2
FROM openquery(LINKED_SERVER, 'SELECT column1, column2 FROM MYSQLTABLE') AS mysql
ON mssql.ms_column1 = mysql.my_column1
不幸的是未经测试。
答案 1 :(得分:1)
不是让两个不同的数据库在它们之间进行通信,而是可以将通信逻辑移动到编程层。例如,使用PDO和PHP,您可以连接到两个数据库,获取数据,混合并生成结果。您可以创建一个PHP类的抽象层,从而独立于A或B数据库获取信息,之后您将不再关心它,因为您将使用PHP对象而不是直接使用数据库。