SQLserver通过链接服务器连接oracle
在SQLserver中一直使用的是DTS抽取数据,但是DTS微软只支持到2008,到了2012后就没有这个工具了,现在需要在SQLserver跟Oracle中间建立一个通道,借助这个通道,将Oracle中的数据抽取到SQLserver数据库中。
环境介绍:win2012 64位服务器、SQLserver2012数据库、本地数据库Oracle 11g-64bit
注意:在这里特别声明一点,或许有的人认为oracle根本就不区分位数,只要是数据库就行,是不行的,如果你的机子是64位的,你必须装64位的oracle.
本来是考虑到在服务器上装database太浪费资源了,但是在装客户端的时候遇到如下问题:
Could not find the main class. Program will exit.
这个问题我也没有深究,网上说是因为装在中文目录下的原因,其实不然,我的是在英文目录下,那就是版本问题。
下面是我的一个具体创建链接的详细步骤:
1.配置ODBC
先到C:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\,找到tnsnames.ora
配置上连接远程oracle的服务名。
打开ODBC64
安装了64位的oracle数据库之后的ODBC64
然后到用户DNS下,点击添加,找到刚才的驱动,即可出现如下界面:
点击测试连接后,会让你输入登录oracle数据库的用户名跟密码,输入完成点ok
直到出现如下界面,说明已经成功一半了。
2.新建链接服务
图中红色部分特别注意,IP加上实例名。或许有人觉得为什么不直接用ODBC中刚配置好的那个160作为数据源,我刚开始也觉得应该可以这样,但是实践了,报错了。我直接用实例加IP是成功的。
输入用户名跟密码
也可以使用脚本建立服务链接:
USE [master] GO/****** Object: LinkedServer [TEST] Script Date: 2015/12/2 11:18:01 ******/ EXEC master.dbo.sp_addlinkedserver @server = N'TEST11', @srvproduct=N'oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'192.168.1.160/oracle'/* For security reasons the linked server remote logins password is changed with ######## */ EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST11',@useself=N'False',@locallogin=NULL,@rmtuser=N'***',@rmtpassword='***'GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'collation compatible', @optvalue=N'false' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'data access', @optvalue=N'true' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'dist', @optvalue=N'false' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'pub', @optvalue=N'false' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'rpc', @optvalue=N'false' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'rpc out', @optvalue=N'false' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'sub', @optvalue=N'false' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'connect timeout', @optvalue=N'0' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'collation name', @optvalue=null GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'lazy schema validation', @optvalue=N'false' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'query timeout', @optvalue=N'0' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'use remote collation', @optvalue=N'true' GOEXEC master.dbo.sp_serveroption @server=N'TEST11', @optname=N'remote proc transaction promotion', @optvalue=N'true' GO
上述工作做完之后可以用如下语句测试是否连通
select * from openquery(TEST11,'select SYSDATE from DUAL');
如果有结果就说明成功了。
转载于:https://www.cnblogs.com/OliverQin/p/5012422.html
SQLserver通过链接服务器连接oracle相关推荐
- SQLServer通过链接服务器调用Oracle 存储过程
语法: declare @输出参数 数据类型; exec(' exec 存储过程(?, ?)', 输入参数, @输出参数 out) at 链接服务器名 参考文章: SQL2008 链接Oracle 调 ...
- sqlserver访问接口无Oracle,SQLServer通过链接服务器访问Oracle
数据库:SqlServer2005 .Oracle 11gR2 系统环境:windows Server 2008R2 32位. 最近在做项目时,需要通过sql的链接服务器访问Oracle.以前弄过sq ...
- SQLServer链接服务器至Oracle
1. 我方服务器必须安装msdtc服务,并进行相应配置. 2. 我方服务器必须安装oracle client,这个要对应中心站oracle版本的客户端. 3. ...
- sqlserver oracle插件,SQLServer链接服务器至Oracle
在SQL SERVER中访问ORACLE表的方法 在SQL SERVER中,能否访问ORACLE表,进行查询操作呢?答案无疑是可以的,下面就为你介绍在SQL SERVER中访问ORACLE表的实现方法 ...
- SQL Server通过链接服务器访问Oracle
Windows SQL Server 2016 数据库通过链接服务器访问Oracle数据库. 借鉴了很多大佬的文章,但是由于外链失效.文章久远.安装包版本太低.自己积分清零等多重原因,导致了很多问题, ...
- mssql 连接oracle配置,MSSQL通过链接服务器访问Oracle
在有些场景,我们需要整合其他异构数据库的数据.我们可以使用代码去读取,经过处理后,再将数据保存到MSSQL数据库中.如果数据量比较大,但处理的逻辑并不复杂的情况下,这种方式就不是最好的办法.这时可以使 ...
- SQL SERVER 2005 通过链接服务器 访问 ORACLE 的快速设定方法
1)在SQL_SERVER 2005服务器上安装Oracle 10g的客户端. 假设安装到D:\oracle\ 目录.如果D:是NTFS分区,需要将ORACLE安装后的目录设为所使用的用户有权可运行. ...
- sqlserver修改链接服务器,sqlserver怎么新建链接服务器
sqlserver怎么新建链接服务器 内容精选 换一换 在IntelliJ上选择"项目",找到".idea"文件夹,单击右键选择"新建>文件&q ...
- SQLServer的链接服务器
今天在研究自动化测试时,需要查看Access数据文件的数据表,但是没有装Access,找来找去找不到Office的安装盘,情急下突然想起在SQLServer中可以添加"链接服务器" ...
最新文章
- java url json字符串_使用HttpClient将URL中的JSON查询字符串发送到Web服务(Java)
- 百度燎原计划2018强势回归 开放深度学习工程师评价标准
- 深入分析Java单例模式的各种方案
- python编辑器,作为初学者该如何抉择?
- 代谢组学在疾病诊断如何应用?
- 请你简要说明一下线程的基本状态以及状态之间的关系?
- 什么都不说,来4波js
- php.ini设置相关信息汇总
- 如何在html里加入验证码_如何把crc校验加入到对应的程序里?看高手怎么做
- nodejs操作Excel
- matlab 混沌_释放混沌猴子
- img和文字都居中对齐
- Cloudflare找不到服务器 IP 地址
- JAVA面向对象编程学习 (1)语法基础与类与对象
- InterviewQuestion
- 构建表情符号制作应用程序
- 经典名言名句(摘抄)
- Android八门神器(一): OkHttp框架源码解析
- 转载:全局拉普拉斯平滑之(1)Strucutre extraction from texture via relative total variation及稀疏矩阵求解...
- swiper3的前进、后退按钮放到容器的外面