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数据库是否为归档模式:[1]
1.select name,log_mode from v$database;
NAME LOG_MODE
------------------ ------------------------
QUERY NOARCHIVELOG
2.使 ......
用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 ......
1、ORA-12541:TNS:没有监听器
原因:没有启动监听器或者监听器损坏。如果是前者,使用命令net start OracleOraHome81TNSListener(名字可能有出入)即可;如果是后者,则使用“Net8 Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不 ......
如何加速
Oracle
大批量数据处理
一、
提高
DML
操作的办法:
简单说来:
1、暂停索引,更新后恢复.
避免在更新的过程中涉及到索引的重建.
2、批量更新,每更新一些记录后及时进行提交动作.
避免大量占用回滚段和或临时表空间.
3、创建一临时 ......