对接问题描述:不知道正式库oracle数据库账户密码,对方愿意在对方的客户端上输入账号和密码,但不告诉我们

解决方案:使用一台sql server作为中间服务器,可以通过转存数据到sql server,再从sql server同步数据到我方数据库。在sql server 上建立一个链接服务器连接Oracle,通过openquery查询oracle数据

具体实施方案

在sql server创建链接服务器,通过链接服务器查询oracle数据,链接服务器对方设置,我方不知道账户和密码。

创建连接服务器方案如下图:

1、  确保pl/sql能够登录上oracle,查看pl/sql的联系信息文件tnsnames.ora,找到数据库连接相关信息,如下图:

如图,CUNJK即数据库名字,需要被sql server链接服务器使用

2、  登录sql server,创建链接服务器,找到链接服务器文职,服务器对象->链接服务器,步骤如下图

访问接口调节oracle的访问接口,服务器对象->链接服务器->访问接口,右键OraCLEDB.Oracle打开属性,勾选允许进程内

3、  创建链接服务器

右键链接服务器->新建链接服务器,填写创建服务器名字,选择访问接口为oracle,产品名称为Oracle,数据源请填写与pl/sql链接信息相同,

安全性登录,如下图:

输入Oracle的账户和密码,密码隐藏,我方不会知晓,

服务器选项配置,如下图:

调节RPC为Ture,RPC Out为True

确定完成。

4、  建立查询,测试

查询链接服务器需要使用OPENQUERY函数进行查询,sql请参考SQL server的语法原则,示例如下:

SELECT top 1 * FROM OPENQUERY(CUNJK,'select * from  cjk_account') a;

方案总结:能通过sql server查询数据,我方即可通过同步程序连接sql sever进行数据同步

链接服务器查询  OPENQUERY

使用sql server链接服务器查询oracle ,会先通过查询sql 查询oracle,缓存到sql server 中,再通过sql server 查询,查询会较慢

OpenQuery 是SQL Server用来与其他Server交互的一种技术,通过OpenQuery,SQL Server 可以直接访问其他数据库资源。而其他数据库在OpenQuery 表达式中是以Linked Server 存在的

在OpenQuery内部添加查询条件,比在外面添加查询速度相对较快,在内部添加条件’’(单引号字符串条件)会有限制,’’(单引号必须进行转义),两个双引号,代表一个双引号,示例如下:

Select from OPENQUERY(R,'select * from  cjk_account where createdate < ''2019-03-17 08:52:55'' ')

如果对openquery查询还没有弄明白,可参考这篇博文:http://www.cnblogs.com/Dannier/archive/2011/09/21/openquery.html

sql server 使用链接服务器连接Oracle,openquery查询数据的更多相关文章

  1. SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)

    原文:SQL Server的链接服务器(MySQL.Oracle.Ms_sql.Access.SYBASE) 一.使用 Microsoft OLE DB Provider For ODBC 链接MyS ...

  2. [翻译]——SQL Server使用链接服务器的5个性能杀手

    前言: 本文是对博客http://www.dbnewsfeed.com/2012/09/08/5-performance-killers-when-working-with-linked-server ...

  3. SQL Server 远程链接服务器详细配置

    原文:SQL Server 远程链接服务器详细配置[转载] http://hi.baidu.com/luxi0194/blog/item/a5c2a9128a705cc6c2fd7803.html - ...

  4. sql server 2005 链接服务器:未将服务器 配置为用于 RPC

    原文:sql server 2005 链接服务器:未将服务器 配置为用于 RPC  RPC: 远程过程调用(Remote Procedure Calls) --LinkedServer.Rpc 属性: ...

  5. C#连接Oracle数据库查询数据

    C#连接Oracle数据库可以实现许多我们需要的功能,下面介绍的是C#连接Oracle数据库查询数据的方法,如果您对C#连接Oracle数据库方面感兴趣的话,不妨一看. using System; u ...

  6. SQL Server创建链接服务器

    1.通过sql语句创建链接服务器,数据是sql server的 EXEC sp_addlinkedserver @server='test', --链接服务器别名,自定义 @srvproduct='' ...

  7. sql server 2012 链接服务器不能链接sql server 2000的解决方案 ,

    本数据源来自 https://www.kafan.cn/edu/922556.html  目的为了备忘 把原来的sql server 2005直接装成了2012,然后在建立链接服务器链接一台sql s ...

  8. SQL Server 添加链接服务器

    背景 在SQL SERVER中,如果我们查询数据库需要关联另外一台数据库中表,在这种情况下我们可以通过添加服务器链接来实现. 案列 方式1.sql server 提供了图形化界面,如下: 右键> ...

  9. SQLserver通过链接服务器连接oracle

    在SQLserver中一直使用的是DTS抽取数据,但是DTS微软只支持到2008,到了2012后就没有这个工具了,现在需要在SQLserver跟Oracle中间建立一个通道,借助这个通道,将Oracl ...

随机推荐

  1. C#共享内存整理

    1.System.IO.MemoryMappedFiles 内存映射文件类 内存映射文件将文件的内容映射到应用程序的逻辑地址空间. 内存映射文件使程序员得以处理极大的文件(这是因为可以并发管理内存), ...

  2. PHP 类与对象 全解析( 一)

    目录 PHP 类与对象 全解析( 一) PHP 类与对象 全解析( 二) PHP 类与对象 全解析(三 ) 1.类与对象 对象:实际存在该类事物中每个实物的个体.$a =new User(); 实例化 ...

  3. C# 使用/配置Log4Net

    1.首先在项目中添加Nuget程序包... 2.然后在NuGet窗体中搜索Log4Net,然后点击安装<安装过程可能会持续几分钟,请耐心等待> 3.在项目中添加一个Config文件,如已有 ...

  4. hdu 1885

    Key Task Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  5. xamarin.android 实现 Activity 底部弹出对话框菜单

    Resources/drawable 下新增如下文件: push_bottom_in.xml <?xml version="1.0" encoding="utf-8 ...

  6. 用hmac验证客户端的合法性

    服务器端程序 import os import hmac import socket def auth(conn): secret_key = b'rock' rand_b = os.urandom( ...

  7. YII使用beanstalk队列

    转载于:http://blog.csdn.net/yao970953039/article/details/41821387 1.系统centos 我是直接使用yum install beanstal ...

  8. Cannot perform conversion to XML from legacy HTML:

    错误信息:Cannot perform conversion to XML from legacy HTML: The nekoHTML library is not in classpath. ne ...

  9. Fatal error: Call to undefined function curl_init()解决办法

    问题描述: 在Windows SERVER 2012RC 64 bit OS, php 5.6.3的环境下,搭建好了php运行环境.但是在调用 curl_init() 方法时却报错了. 检查了一下,p ...

  10. 【canvas系列】canvas实现“ 简单的Amaziograph效果”--画对称图【强迫症福利】

    标题很难引人入胜,先放个效果图好了 如果图片吸引不了你,那我觉得也就没啥看的了. demo链接: https://win7killer.github.io/demo_set/html_demo/can ...