一、在SQLServer中连接另一个SQLServer库数据

在SQL中,要想在本地库中查询另一个数据库中的数据表时,可以创建一个链接服务器:

EXEC master.dbo.sp_addlinkedserver @server = N'别名', @srvproduct=N'库名',@provider=N'SQLOLEDB', @datasrc=N'服务器地址'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'别名', @locallogin = NULL , @useself= N'False', @rmtuser = N'用户名', @rmtpassword = N'密码'

创建完后,就可以通过“Select * from别名.库名.dbo.表名”来查询了。

或者也可以手工创建:

二、在Oracle中连接另一个Oracle库数据

在Oracle中,其实也类似,要连接到其他库时,也需要创建一个类似这样的连接:

create database link别名  connect to 模式名(用户名) identified by "密码" using 'TNS名';

注意:这里面的TNS名就是你需要连接的另一个库的TNS名,而且是必需是在你当前连接的库的服务器端所配置的TNS名。

例如:

create public database link DBLINK

connect to username identified by mypassword

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.28)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = ftnemr)

)

)';

创建完后,我们也就可以访问了:“Select * from表名@别名”

如果使用的是PL/SQL开发工具,那么我们也可以直接在工具里创建:

三、在SQL Server中连接Oracle数据

同样,也创建一个数据库连接即可,这时我们采用Ole DB方式连接数据库:

EXEC master.dbo.sp_addlinkedserver @server = N'别名', @srvproduct=N'库名',@provider=N'MSDAORA', @datasrc=N'TNS名'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'别名', @locallogin = NULL , @useself= N'False', @rmtuser = N'模式名', @rmtpassword = N'密码'

注意:这里面的TNS名,是在该SQL Server器端所配置的TNS名,不是在客户端本地哦。

创建好了后,使用“select * from openquery(别名,'select * from   模式名.表名”来执行查询。

要连接到其他类型的数据库时,其实方式也类同,只要用相应的provider来连接即可。

四、在Oracle中连接SQL Server数据

在oracle中连接SQLServer也很类似,创建一个DBLink,但问题是,创建DBLink里,里面用的TNS名称都是连接到Oracle的,没有配置连接到SQL Server中的。

于是想到采用Oracle中的透明网关来实现,首先在Oracle的安装名中装上,Oracle Net Services和Oracle Transparent Gateways, 并在此项下选择Oracle Transparent Gateway for Microsoft SQL Server。

配置透明网关,编辑%ORACLE_HOME%/tg4msql/admin/init%ORACLE_SID%.ora, 该文件包含了TG for SQL Server的配置信息, 其中%ORACLE_SID%是给TG的"SID", 默认为tg4msql. 修改文件中的行HS_FDS_CONNECT_INFO="SERVER=SQL服务器地址;DATABASE=库名"。

然后创建监听器:编辑%ORACLE_HOME%/network/admin/listener.ora, 编辑对应listener的SID_LIST:

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(SID_NAME=%ORACLE_SID%)

(ORACLE_HOME=oracle_home_directory)

(PROGRAM=tg4msql)

)

)

其中%ORACLE_SID%为第二布中设置的SID, 默认值为tg4msql. 修改listener.ora文件后需重启listener使修改生效.

最后就可以配置TNS名了,如果直接修改Tnsname.ora文件的话,添加的格式是:

TNS名=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=sqlserver)(PORT=1521))

(CONNECT_DATA=(SID=网关ID))

(HS=OK))

这样,TNS名后就可以创建DB Links,然后查询的方式与前面一至。

sqlserver垮库查询_Oracle和SQLServer中实现跨库查询相关推荐

  1. 微服务改造中解决跨库问题的思路

    今年一直在和团队做微服务的架构改造(相关的一些详情,有兴趣的朋友,可以参见之前的这篇分享).但是做过改造的朋友都知道 从"All-In-One" 到 "Micro-Ser ...

  2. MySQL源码学习:MySQL中禁止跨库访问的实现

    摘要:  先说一下这里"跨库"的意思:当前use的是db1, 仍可以使用select * from db2.table1来访问table1表. 这样使得我们需要访问同一个MySQL ...

  3. 2021年朔州市副高考试成绩查询,2021朔州市第二中学校教师成绩查询入口:http://www.shuozhou.gov.cn/ztjs/rlzy/rsks/...

    2021朔州市第二中学校教师成绩查询成绩查询网址为:朔州市人力资源和社会保障局网站人事考试专栏(http://www.shuozhou.gov.cn/ztjs/rlzy/rsks/).忻州教师招聘网为 ...

  4. mysql怎么子查询_在mysql中如何进行子查询?

    在mysql中,子查询是指将一个查询语句嵌套在另一个查询语句中,可以在SELECT.UPDATE和 DELETE语句中配合WHERE子句进行实现,WHERE子句中语法格式为"WHERE (另 ...

  5. apex 查询_在 Apex 中使用合并统计查询

    SOQL 中的合并统计查询 在 SOQL 中,我们可以使用一系列函数来进行合并统计查询.它们的功能和标准 SQL 中的 SUM(),COUNT() 等函数类似. Apex 中使用合并统计查询 在 Ap ...

  6. axios库读不到cookie_axios中cookie跨域及相关配置示例详解

    自从入了vue之后,一直在用axios这个库来做一些异步请求,下面这篇文章主要介绍关于axios中cookie跨域及相关配置的资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴. 前言 最近 ...

  7. java条件查询excel_[转]EXCEL中的多条件查询(整理)

    在EXCEL里面有多个方法可以完成多条件查询,先来了解合并数组这个概念: 如果Sheet2是这样的: A ,B ,C 张三,一月,90 张三,二月,85 张三,三月,95 那么If({1,0},She ...

  8. java导出jar带第三方库_在.jar文件中导出java库

    我仍然是 java的新手,我对导出.jar文件非常新.我有一个小游戏,我想发送给一些朋友,我被告知在另一个问题,我应该将它导出到一个可执行的jar文件.好吧,我终于在我的计算机上工作了但是当我把它发送 ...

  9. python中的numpy库有什么优缺点_python中关于numpy库的介绍

    1.Numpy是什么? NumPy(Numerical Python的缩写)是一个开源的Python科学计算库.使用NumPy,就可以很自然地使用数组和矩阵. NumPy包含很多实用的数学函数,涵盖线 ...

最新文章

  1. Splay ---- 区间翻转 区间最大值 区间加 P4146 序列终结者
  2. java 点与线的距离_计算地图上点与线段距离
  3. 获取apk的package name 和 Activity
  4. hibernate07--关联映射
  5. golang 请求带验证信息的坑
  6. 计算机程序和系统股票走势分析,证券走势指标匹配分析系统的设计与实现
  7. ftp文档服务器设置,ftp服务器基本设置
  8. Flex 中 12 个简单实用的小技巧
  9. fedora 16 下搭建gvim+xdebug调试环境
  10. mysql 最近_关于mysql查询最近一条记录
  11. linux发行版衍生关系,linux发行版-Ubuntu的衍生版本UbuntuKylin初体验(伪)
  12. Django Form ModelForm modelfromset
  13. 研究生怎么看 ,怎么写论文
  14. Linux环境下实现简易的DNS域名解析过程
  15. modbus调试工具开发(1)--windows下编译libmodbus库文件
  16. Java编程必备软件
  17. asp.net1002-公司人事管理信息系统#毕业设计
  18. latex表格横向、纵向合并问题
  19. 【牛客网-公司真题-前端入门篇】——小米秋招笔试-前端
  20. 涉及到第三方支付接口该如何测试?

热门文章

  1. c++中的继承--2(继承中的析构函数和构造函数,继承中同名成员,继承中静态成员)
  2. POJ 1061扩展欧几里得
  3. Java面试题库,java核心技术第十版下载
  4. Java春招实习面试经验汇总,面试篇
  5. HTML如何添加锚点,总结到位
  6. React面试题总结,含爱奇艺,小米,腾讯,阿里
  7. MMKV集成与原理,赶紧学起来
  8. 我了解到的面试的一些小内幕!附面试题答案
  9. Hibernate学习笔记(二)
  10. Hibernate学习笔记(一)