一、Oracle

1.在旧库创建公共链接

  命名为 bidblink

 create public database link bidblink connect to c##v26_xxxx IDENTIFIED BY c##v26_xxxx
using '(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.x.x)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = orcl) ))';

2.在新库查看旧库的 tenant 表

select * from tenant@bidblink

3.映射表

create public synonym tenant for tenant@bidblink;

4.删除映射表

drop public synonym tenant;

二、MSSql

1、dblink 方法

  创建dblink,语法如下:

--建立外部数据库链接
exec sp_addlinkedserver
@server='SPM_Release',--链接服务器别名
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='xx.xx.xx.xx'
--建立登录映射
exec sp_addlinkedsrvlogin
'SPM_Release', --链接服务器别名
'false',
NULL,
'', --要访问的数据库的用户
'' --密码

  (注意,没使用默认端口1433的话,需要输入端口号,逗号隔开 @datasrc='xx.xx.xx.xx,xx')

  查询所有dblink(PS:结果为所有数据库链接,如果未添加其他外部链接,则只有一条数据表示当前链接)

select * from sys.servers;

  查询link的表数据,语法如下:

select * from SPM_Release.enpcdb.dbo.psmlb;

  删除dblink

exec sp_droplinkedsrvlogin 'SPM_Release',null
exec sp_dropserver 'SPM_Release'

2、OPENDATASOURCE 方法

  在使用这个方法之前,需要执行:

    --有顺序的,授权正序set 1,取消反序set 0,逐步reconfigure
exec sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'Ad Hoc Distributed Queries',1;
reconfigure;

  查询语法如:

select * from OPENDATASOURCE(
'SQLOLEDB',
'Server=xx.xx.xx.xx;User id=sa;Pwd=xx;Database=xx'
).enpcspmp.dbo.enpcdb p

  通过这个方法进行数据库表映射,如果只是简单查询还可以,但是涉及复杂sql,带上链接参数总觉得不友好

  因此,我们可以通过以上select语句,创建一个视图,来简化sql

  至此!!

@datasrc='xx.xx.xx.xx'

Oracle & MSSql 数据库表映射方法(dblink or other)的更多相关文章

  1. 创建动态MSSQL数据库表的方法

    代码如下: ImportsSystem.Data ImportsSystem.Data.SqlClient PublicClassForm1 InheritsSystem.windows.Forms. ...

  2. ORACLE跨数据库查询的方法

    原文地址:http://blog.csdn.net/huzhenwei/article/details/2533869 本文简述了通过创建database link实现Oracle跨数据库查询的方法 ...

  3. 关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题

    关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题,解决方法如下:在数据库连接字串中,增加一个参数:Metadata Pooling=false如“Data Sour ...

  4. Atitit.mssql 数据库表记录数and 表体积大小统计

    Atitit.mssql 数据库表记录数and 表体积大小统计 1. EXEC   sp_MSforeachtable   "EXECUTE   sp_spaceused   '?'&quo ...

  5. --oracle删除数据库表(无主键)中重复的记录

    --oracle删除数据库表(无主键)中重复的记录 1,  CREATE TABLE newtable as SELECT distinct * FROM T_SYSTEM_MENU_PRIV; 2, ...

  6. 03HibernateJAVA类与数据库表映射配置

    HibernateJAVA类与数据库表映射配置

  7. 数据库表结构设计方法及原则(li)

    数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满 ...

  8. Oracle 10 - 数据库表

    Oracle数据库表类型 1.堆表 2.索引组织表 3.索引clustered表 4.散列clustered表 5.有序散列clustered表 6.嵌套表 7.临时表 8.对象表 9.外部表 Ora ...

  9. MySQL开启federated引擎实现数据库表映射

    1.查看federated引擎是否开启 点击进入Navicat并点击键盘上F6,出现命令行界面 ,输入指令:show engines; 2.开启federated引擎 Windows系统 : 在my. ...

  10. 数据库表映射到MyEclipse的实体对象

    第一步:新增一个项目 第二步:在项目中新增一个包 第三步:将项目变为SSH (1)加Hibernate 选中项目点击右键,选择MyEclipse→project Facets→ 选择Hiberbate ...

随机推荐

  1. aiohttp、asyncio使用协程增加爬虫效率

    import aiohttp import asyncio import time async def get_requests(url): async with aiohttp.ClientSess ...

  2. view-design tabpane禁用后renderHeader失效问题

    需求是这样的 在tabPane的renderHeader里面添加hover事件(使用组件自带的Poptip)能显示提示 其实这个不算是问题,设置disabled属性后,原本的元素上面添加了 ivu-t ...

  3. 自己动手基于 Redis 实现一个 .NET 的分布式锁

    分布式锁的核心其实就是采用一个集中式的服务,然后多个应用节点进行抢占式锁定来进行实现,今天介绍如何采用Redis作为基础服务,实现一个分布式锁的类库,本方案不考虑 Redis 集群多节点问题,如果引入 ...

  4. Django批量插入(自定义分页器)

    目录 一:批量插入 1.常规批量插入数据(时间长,效率低 不建议使用) 2.使用orm提供的bulk_create方法批量插入数据(效率高 减少操作时间) 3.总结 二:自定义分页器 1.自定义分页器 ...

  5. Qt对象跨线程出现的问题记录,以及解决方案

    Qt在跨线程开发的时候可能会出现不少问题,在这里记录一下 Qt目前用下来还是非常强大的,虽然只是用在桌面端程序开发上,但是其强大的桌面开发库真的挺好用的(Layout除外,你妈死了). Qt除了UI, ...

  6. 重学c#系列—— 反射的基本理解[三十三]

    前言 在上一章中介绍了什么是反射: https://www.cnblogs.com/aoximin/p/16440966.html 正文 上一节讲述反射的基本原理和为什么要用反射,还用反射的优缺点这些 ...

  7. .NetCore下基于FreeRedis实现的Redis6.0客户端缓存之缓存键条件优雅过滤

    前言 众所周知内存缓存(MemoryCache)数据是从内存中获取,性能表现上是最优的,但是内存缓存有一个缺点就是不支持分布式,数据在各个部署节点上各存一份,每份缓存的过期时间不一致,会导致幻读等各种 ...

  8. flutter2.x报错解决type (RouteSettings) => Route<dynamic> is not a subtype of type (RouteSettings) => Route<dynemic> of function result

    flutter2.x报错解决type (RouteSettings) => Route <dynamic>? is not a subtype of type (RouteSetti ...

  9. mysql 简单查询

    查询特定列SELECT ename,birthday FROM emp; 查询所有的select*from emp; 给列起别名select ename AS 姓名, salary AS 工资 FRO ...

  10. 垃圾收集器必问系列—CMS

    本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 应该相信,自己是生活的战胜者.--雨果 目录 CMS简介 运作过程 CMS的缺陷 处理器 ...