概括SQL Server实时查询Oracle数据库

数据库 Oracle
这里介绍然而,当部分资料是放在Oracle数据库服务器的时候,这就可能带给您许多挑战。举例来说,光是设定连结服务器就不是一件容易的事。

假定您现在拥有一个以Microsoft .NET为架构的网络订购系统,但是品管维护系统却仍然使用一套旧式的Oracle数据库应用程序。当您的顾客在产品保固期间下了产品更换之类的订单,则该笔订单将不收取任何费用。此时您需要从Oracle数据库得到实时的查询结果。借着建立连结服务器的方式(linked server),您将可以从SQL Server实时查询出位于Oracle数据库的顾客资料,找出谁是您既有的客户。

当您的资料分散在不同的SQL Server数据库时,藉由连结服务器可让您执行跨服务器之分布式查询。当所有的数据库服务器都是SQL Server,则连结服务器的设定十分容易,而且在SQL Server线上手册中就涵盖了您所需要了解的所有事项。然而,当部分资料是放在Oracle数据库服务器的时候,这就可能带给您许多挑战。举例来说,光是设定连结服务器就不是一件容易的事。您必须了解到:即是您要在SQL Server的Enterprise Manager设定一个Oracle连结服务器,这台SQL Server对Oracle来说就是一个客户端。所以您必须在SQL Server所在的服务器成功地安装并组态Oracle之客户端软件。因为Oracle提供的产品只支持Oracle 8以后的数据库,所以我假设您正在使用的都是Oracle 8以后的数据库。在Oracle Net8函式库则提供了SQL Server所需要的客户端软件。

译者注1:

设定连接服务器时是利用 Microsoft所提供的OLE DB Provider for Oracle,使用的Oracle网络函式库为SQL*Net 2.3.3.0.4或是以后的版本,不过这是Oracle 7.3数据库所提供的。换句话说,要设定Oracle数据库为SQL Server的连接服务器时,Oracle数据库只要是7.3.3.4以后的版本,并搭配适当的SQL*Net或是Net 8 函式库即可。

资料来源:
1. Oracle 7 Server Getting Started release 7.3.4
2. SQL Server Books Online: OLE DB Provider for Oracle

在 Oracle数据库中,一个schema即代表着SQL Server专家们所熟知的单一数据库(译者注2)。连接至Oracle数据库时,您必须提供schema名称、密码以及主机联机字符串(host string)。每一个特定的Oracle帐户都拥有一个Oracle schema,而且只能有一个schema。所以schema名称其实就等于该schema拥有者的帐户名称。您可以查询Oracle的资料字典 (Data dictionary)以得到更多有关schema的内容。

至于 Oracle联机字符串又可称为服务名称(service name)或是系统识别资料(Systen Identifier,SID)。我们所谓的SQL Server数据库个体(instance)在Oracle则称为数据库(database)。所以安装Oracle Server时,安装程序Oracle Universal Installer(为一个图形接口之安装程序,与SQL Server的Setup程序类似)将会询问您SID名称为何,以作为Oracle数据库之名称。

译者注2:

这个部分原作者所提到schema的解释有点问题。Oracle schema可视为同一个使用者所拥有的所有数据库对象(schema objects)之集合。举例来说,使用者scott所建立的EMP table其完整名称为SCOTT.EMP,而SCOTT就是EMP的schema名称。所以schema name其实就是一个Oracle数据库之使用者帐号。但是绝对不能拿来跟数据库相提并论!因为SQL Server的数据库架构包含了data files与log files,但是Oracle的schema objects只存在于tablespace中。为了避免部分读者产生混淆,特此说明。

如果您在Windows操作系统上安装Oracle Server时设定SID为Ora817(与本篇文章的范例相同),则在系统内将会有一个名称为OracleServiceORA817的服务。

【编辑推荐】

  1. 快速掌握Oracle参数设置
  2. 事例解析Oracle函数
  3. Oracle Sequence之深入浅出
  4. 你是否了解Oracle触发器
  5. 详细描述Oracle系统特权
责任编辑:佚名 来源: 51CTO.com
相关推荐

2022-11-04 08:34:27

Oracle数据库

2009-07-06 21:20:34

SQL Server数

2010-07-15 17:28:50

SQL Server

2011-04-01 13:21:26

SQL ServerOracle数据库查询优化

2009-03-27 13:15:20

OracleSQL Server镜像

2011-05-26 14:07:11

SQL ServerOracle数据库镜像对比

2010-07-22 11:17:52

SQL Server数

2010-10-26 15:54:02

连接oracle数据库

2009-01-27 21:00:00

服务器数据库SQL Server

2010-05-10 18:54:12

Oracle数据库索引

2011-08-15 16:58:34

SQL Server远程查询批量导入数据

2011-08-30 11:04:30

链接查询内连接外连接

2011-04-01 14:34:31

SQL Server数嵌套子查询

2011-03-04 13:07:06

SQL Server数

2017-05-25 08:52:08

SQL Server数据库

2010-07-08 11:05:14

SQL Server数

2009-09-25 13:18:15

Hibernate数据

2009-09-14 15:37:06

LINQ映射数据库

2010-04-29 09:35:31

Oracle数据库

2021-05-17 06:57:34

SQLServer数据库
点赞
收藏

51CTO技术栈公众号