假定您现在拥有一个以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.42. 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的服务。

【编辑推荐】
有方便地查询和修改oracle数据库的工具吗??
建议使用SybaseToad7.01,支持语法高亮,显示表提示,类似plsql。 2,能自己定制菜单,如选中all_tables,点击ctrl+d 可以执行“select * from all_tables”操作。 同理可以定制许多常用的功能。 3,左边功能导航增加了20-30项oracle常用的系统监控的功能,非常实用。 4,批量执行,带参数执行。 5,可以连接多种数据库,尤其是oracle可以支持oracle客户端和无客户端两种情况。 6,数据导出,可以导出成为(insert...)的模式,方便数据库脚本的提取。 7,操作习惯为了和toad,plsql尽量保持一致,可以选择toad模式和plsql模式。 8,拷贝粘贴,可以对数据库表的数据进行拷贝粘贴。 9,也支持查看执行计划(ctrl+E)。 10,支持像toad的快速输入方式如s*+空格,直接出现select * from,可以自行定制。 11,oracle下,可以通过select rowid,a.* from XXXtable a where 1=123对查询出的数据进行修改。 12,另外支持数据表,存储过程,数据管道(可以支持不同的数据库之间相同表结构的数据进行传输)等功能,表结构修改,增加索引主键等,修改保存存储过程。
如何从SQL Server迁移大批量数据到Oracle
1、使用etl工具进行抽取,如:kettle2、使用oracle的gateway。 实现从sqlserver到oracle的数据网关功能。
MS SQL Server,unix,linux各是什么
SQL是英文Structured Query Language的缩写,意思为结构化查询语言。 SQL语言的主要功能就是同各种数据库建立联系,进行沟通。 按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。 SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。 目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。 虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。 SQL ServerSQL Server 是一个关系数据库管理系统。 它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。 在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。 Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。 SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。 具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 unix,linux 是两款操作系统 目前全球最出名的三款OS(操作系统)是 微软的WINDOWS系统 和 苹果的APPLE系统 以及 unix,linuxunix,linux 属于同一种 很复杂 一般用在ATM上 是一种开放式系统 有很多张版本 安全性很高 一般很难搞懂
发表评论