SQL Server 2005 创建到 Oracle10g 的链接服务器
SQL Server 2005 创建到 Oracle10g 的链接服务器
由 lwgboy @ MoFun.CC, 在 08-9-12 下午5:00
标记: linkserver, oracle, sqlserver, 链接服务器
SQL Server 2005 创建到 Oracle10g 的链接服务器
SQL Server 2005 异类数据源(ORACLE10G)链接服务器的建立
本文简述SqlServer 2005 链接到 Oracle10g 服务器的过程及基本应用。
名词说明:链接服务器:对应oracle的DBLINK。用于完成多个异构数据库服务的分布式访问。
从 SqlServer 2005 中建立到 Oracle 的链接与 SQLServer 2000 中差不多,只是界面花哨了些,咋一看还以为不一样了呢,实际没啥大的区别:
链接服务建立:
* 安装oracle10g 的客户端:使用netmgr添加本地的服务命名,例如:服务命令:DBLINK;测试通过后进行下一步。
* 建立ODBC数据源(现在已不需要,一般直接用Oracle本地服务名代替,本步可省略)
为 SQL Server 2005 服务器增加系统数据源:
[控制面板]=》[管理工具]=》[数据源(ODBC)]=》[系统DNS],添加基于 Oracle 的数据源:数据源名为:DBLINK(此名称尽量与Oracle的本地服务名一致),并进行连接测试。
* 通过执行SQLServer存储过程来创建链接服务(直接使用Oracle本地服务名,这里本地服务名为CMCC):
exec sp_addlinkedserver @server='LINK2ORACLE', @srvproduct='Oracle', @provider='MSDAORA', @datasrc='CMCC'
* 链接登录配置:
exec sp_addlinkedsrvlogin 'LINK2ORACLE',false,'sa','OracleUserName','OraclePassword' ;
说明:此语句把远方DBServer的scott用户映射到本地的sa(该用户请根据实际进行更改)。
链接服务器应用:
A、查询Oracle数据表方式一(这种方式,当Oracle与SQLServer的数据类型不一致时经常报错,且速度稍慢):
select * from [LINK2ORACLE]..[ORACLE_USER_NAME].TABLE_NAME;
我在执行该语句经常报类似错误信息:链接服务器 "LINK2ORACLE" 的 OLE DB 访问接口 "MSDAORA" 为列提供的元数据不一致。对象 ""CMCC"."OS2_GIS_CELL"" 的列 "ISOPENED" (编译时序号为 20)在编译时有 130 的 "DBTYPE",但在运行时有 5。
B、查询Oracle数据表方式二(经试验,这种方式使用起来很顺畅,不报错,且速度几乎和在Oralce中一样快):
select * from openquery(LINK2ORACLE,'select * from OracleUserName.TableName')
您可以把openquery()当成表来使用。
C、举个
相关文档:
几个简单的步骤大幅提高Oracle性能--我优化数据库的三板斧。
数据库优化的讨论可以说是一个永恒的主题。资深的Oracle优化人员通常会要求提出性能问题的人对数据库做一个statspack,贴出数据库配置等等。还有的人认为要抓出执行最慢的语句来进行优化。但实际情况是,提出疑问的人很可能根本不懂执行计划,更不要说statspac ......
用oracle数据库的存储过程实现返回结果集并实现分页的功能。
用户传入参数
一下是转别人的代码
--包声明
create or replace package p_page is
-- Author : PHARAOHS
-- Created : 2006-4-30 14:14:14
-- Purpose : 分页过程
TYPE type_cur IS REF CURSOR; &n ......
Oracle中用Rowid查找和删除重复记录
平时工作中可能会碰到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录。
下面总结一下几种查找和删除重复记录的方法(以表CZ为例):
表CZ的结构如下:
SQL> desc cz
Name Null? Type
---------- ......
关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比如SGA、PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化。做好这两个方面的优化,就可以使一套完整的Oracle应用系统处于良好的运行状态。
本文主要是把一些Oracle Tuning的文章作了一个简单的总结, ......
Linux/Unix上,Oracle是多个进程实现的,每一个主要函数都是一个进程;在Windows上,则是一个单一进程,进程中包含多个线程。
Oracle把一系列物理文件,如数据文件(Data file)、控制文件(Control file)、联机日志(Redo log file)、参数文件(spfile or pfile)等物理结构及与之对应的逻辑结构,如表空间(Tablespace)、段(Seg ......