从多个数据库引擎创建 SQL 服务器视图?

Posted

技术标签:

【中文标题】从多个数据库引擎创建 SQL 服务器视图?【英文标题】:Creating a SQL server view from multiple DB engines? 【发布时间】:2019-07-02 06:13:20 【问题描述】:

我有一个 SQL 服务器数据库、一个 Oracle 数据库、一个 mysql 数据库。我有一种方法可以连接每个数据库中的表。创建此视图的最佳方法是什么?我刚刚启动了 SSIS 项目,该项目从数据库中提取表并创建我想要的视图,但是有没有办法从视图中的每个引擎实时获取数据\动态?

【问题讨论】:

我猜第一步是将它们全部放在一个数据库服务器上。 将其他数据库的数据加载到一个数据库并创建视图。如果您使用链接服务器,除非数据非常小,否则它还有其他问题。 @Ed 这是可能的,但那将是一个庞大的项目。 @Roshan 我已经将 Oracle 链接到 MSSQL。明天我会看看链接MySQL。谢谢! 再考虑一下,您可能可以使用 SQL 代理服务器来实现。我没有研究过 SQL 代理服务器的功能。您需要一个可以连接到所有无法相互通信的服务器的服务器。 【参考方案1】:

最好的方法是在 sql server 上为每个实例(Oracle、MySQL)创建一个链接服务器,而无需复制数据。

然后您可以创建一个视图来连接实例之间的表。

有关更多信息,您可以关注以下文章:

Create Linked Servers (SQL Server Database Engine) Create a linked server to MySQL from SQL Server Creating a SQL Server 2014 Linked Server for an Oracle 11g Database SQL Server Linked Server Example Query

【讨论】:

以上是关于从多个数据库引擎创建 SQL 服务器视图?的主要内容,如果未能解决你的问题,请参考以下文章

从多个列索引创建多行

SQL Server:引擎会从视图中执行不需要的东西吗?

SQL - 从多个表创建视图

PHP实现简易的模板引擎

一条SQL查询语句是如何执行的

使用条件从另一个数据库导入所有视图的 SQL 脚本