SQL Server和Oracle表之间的联合视图(查询)

时间:2019-04-16 15:06:32

标签: sql-server oracle union

我有2个表,一个在SQL Server中,另一个在Oracle中(这由提供数据库的软件驱动,无法更改)。

当前,我正在使用MS Access,并且已将这两个表都拉为“链接表”。 MS Access使从各种不同的数据源(Oracle,SQL Server,XML,Excel等)中提取数据非常容易,然后像表在同一环境中一样进行查询。

我希望在SQL Server中具有相同的视图。这可能吗?

我想要这个的原因是,就目前而言,任何人使用我的MS Access查询,他们都需要本地工作站上的ODBC连接。许多工作站没有安装Oracle驱动程序。

我想将ODBC要求推送到服务器,然后仅在MS Access数据库中使用SQL Server视图并删除链接的表。每个工作站都有一个SQL驱动程序,这对我来说将变得更加容易。

**SQL Server**  **ORACLE**
TABLE_A         TABLE_B

Name            Name
Description     Description
VALUE1          VALUE1
STATUS          STATUS

MS Access中的联盟查询是:

SELECT DISTINCT *
FROM TABLE_A

UNION

SELECT DISTINCT *
FROM TABLE_B;

我想在SQL Server中复制此Union查询的视图。

1 个答案:

答案 0 :(得分:0)

您需要在SQL Serwer上创建到Oracle数据库的“链接服务器”。

https://www.mssqltips.com/sqlservertip/4396/creating-a-sql-server-2014-linked-server-for-an-oracle-11g-database/

然后您将使用如下查询:

SELECT DISTINCT *
FROM TABLE_A

UNION

SELECT DISTINCT *
FROM Oracle_link_server..schema.table_b;