环境介绍
Sqlserver :2008版本
Oracle:10g
Sqlserver配置
1. 要安装Sql server数据库
2. 要有Oracle客户端
3. 配置tnsnames.ora文件(db_1\NETWORK\ADMIN目录下)
mytest=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.22)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER=ON)
)
(CONNECT_DATA =
(FAILOVER_MODE=(TYPE=select)(METHOD=basic))
(SERVER = DEDICATED)
(SERVICE_NAME = mysid) //sid
)
)
4. 测试tns是否配置成功
看到以下信息就知道配置成功了:
5. 创建链接服务器
打开Sqlserver界面管理器,->服务器对象-> 链接服务器,右键新建一个链接服务器
常规属性配置:
安全性配置:
6. 测试访问Oracle
select * from DEMO..USERNAME.TABLENAME; (注意红色要大写,若查询某个字段要用大写。链接服务器后两点)
或者用以下方式查询
select * from openquery(DEMO,'SELECT * FROM USERNAME.TABLENAME')
说明:DEMO..USERNAME.TABLENAME = 链接服务器..用户名.表名
这样配置好后,就可以在Sqlserver上直接对Oracle的表进行增删改查了。
常见错误
1. 无法从表 ""JIFA_BPAF"."DEMO_ITEM"" 删除数据。出现可恢复的、特定于提供程序的错误,如 RPC 失败。
问题分析:权限不足。在创建链接服务器的第二步安全性设置,用于连接Oracle的用户没有删除Oracle数据库下JIFA_BPAF该用户的DEMO_ITEM表的权限
问题解决:JIFA_BPAF用户下的DEMO_ITEM表删除权限授权给指定用户。
grant delete on demo_item to user;
或者再创建新的链接服务器,用该用户登陆连接即可
2. 链接服务器 "WEBESTAT" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 返回了 "NON-CLUSTERED and NOT INTEGRATED" 索引 "PK_RESOURCEID",其中有不正确的书签序号 0。
问题分析:Oracle的table表建立了一个索引“PK_RESOURCEID”,然后Sqlserver访问Oracle时用了自身的地址做为访问Oracle的索引路径。
问题解决: 服务器对象->链接服务器->访问接口->OraOLEDB.Oracle
分享到:
相关推荐
SqlServer2008通过Oracle provider for OLEDB访问远程Oracle数据库 包括链接服务器环境安装、链接服务器创建、远程建表、修改表,增删改查数据,创建、执行带参与无参存储过程的方法等,资料为作者参考网络资料整理...
SQLserver2012链接Oracle数据库操作说明:附带图片及详细操作步骤,SQLserver数据库电脑上需要安装好Oracle数据库进行配置
sql server 2000访问oracle数据库的配置方法,此方法可以当作sql server 于oracle数据库的接口,能同步获取到oracle数据库的信息
通过ORACLE通用连接访问SQLServer数据库的方法
本文详细描述了在oracle10g或11g中使用dblink访问sql server,使用oracle的透明网关来访问异构的数据库,方便一些习惯使用oracle的开发人员操作sql server数据库
oracle通过ODBC建立dblink访问SqlServer数据库配置
oracle通过odbc方式,连接到sqlserver数据库。比透明网关方式更加简单
C++通过ADO访问SQLSERVERORACLE数据库.doc
.NET数据库通用接口SQLSERVER和ORACLE.net,c#,SQLSERVER,ORACLE 支持两种数据的通用类
在进行数据分析时,优势需要关联分析Oracle与SQL ...一般做法是利用OLEDB将数据导入到一个数据库中,也可以在SQL server中建立一个虚拟连接,将Oracle中数据表虚拟到SQL server中,视同本地表使用,极大方便数据分析。
详细安装步骤+个人理解
在SQL Server下访问Oracle数据库的方法.pdf
仅介绍了在ORACLE里设置访问多个SQL Server数据库的方法
在为SQL SERVER创建ORACLE的连接服务器时,没有ORACLE provider for OLE DB 的连接服务驱动。经网上搜索,把PDF安装说明和驱动程序一起收藏,请各位下载;
这些方法适用于以下情况: A.sql server通过链接服务器访问oracle得到的数据与...这种方式访问oracle数据库报错(是什么类型结构来着) C.其他通过链接服务器访问oracle的异常情况; 说明:分数并不高,物有所值!
Oracle数据库直接访问sqlserver数据库表数据。通过oracle gateways可以直接访问sqlserver数据库表数据。通过oracle gateways直接访问sqlserver数据库的详细配置过程。
ORACLE访问SQL SERVER数据库有一篇《Oracle 异构服务实践》讲得很清楚。 但里面没有讲如何设置访问多个SQL Server数据库, 我就补充一下。 假设我们要在ORACLE里同时能访问SQL Server里默认的pubs和Northwind两...
C#.NET万能数据库访问封装类ACCESS、SQLServer、Oracle
SQLServer2008与Oracle11g 同时为现代企业两个重量级的数据库,如何实现他们之 间的互连互通 1.2. 环境信息 SQLServer :2008R2 Oracle:11gR2 1.3. 相关文档 《OracleDB11g初探》《SQLServer2008初探》