如何操做不在同一个数据库中的数据操作:

一。对于SQL server来讲:
  1.采用创建链接服务器的方式: 
   (1).创建链接服务器
       exec sp_addlinkedserver   '要创建的链接服务器的本地名称', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
         sp_addlinkedserver :创建一个链接服务器(相当于oracle中的本地注册)  
       exec sp_addlinkedsrvlogin  '创建的链接服务器的本地名称 ', 'false ',null, '用户名 ', '密码' 
          sp_addlinkedsrvlogin :使用已创建的链接服务器进行登录。
   (2).查询示例:
       select * from [已创建的链接服务器名称].数据库名.dbo.表名
       
       select * from openquery(已创建的链接服务器名称,'select * from 表名')

(3)。当数据库用完之后 关闭链接
      
        --以后不再使用时删除链接服务器 
        exec sp_dropserver  '创建的链接服务器的本地名称', 'droplogins '
 
      sp_dropserver '将被删除的服务器名称','droplogins| null' 如果指定了droplogins 那么相关的远程及链接服务器登录也被删除 
  
   2.采用odbc的方式来进行链接(openrowset)
     (1)使用openrowset进行链接
     例如: 
       select * from openrowset('SQLOLEDB','SQL服务器名';'用户名';'密码',数据库目录.dbo.表名称)

select * from openrowset('MSDASQL','DRIVER={SQL Server};Server=远程服务器名称/IP地址;UID=用户名;PWD=密码',数据库目录.dbo.表名称);
        
 --链接Access数据库
   下面的示例从本地 SQL Server Northwind 数据库的 customers 表中,以及存储在相同计算机上 Access Northwind 数据库的 orders 表中选择所有数据
           说明  下面的示例假定已经安装了 Access。
    USE pubs
     GO
   SELECT c.*, o.*  
      FROM Northwind.dbo.Customers AS c INNER JOIN  OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders) AS o
            ON c.CustomerID = o.CustomerID 
          GO

(2) 采用opendataResource来访问远程数据库
        
   SELECT   *  FROM   opendatasource( 'SQLOLEDB ',  'Data Source=远程服务器名称/IP地址;User ID=用户名;Password=密码 ' ).数据库目录.dbo.表名称

二.oracle数据库中操作两个不同数据库中的两张表
   在这里oracle数据库服务器使用的dblink的方式, 其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。
   1、已经配置本地服务
       其语法为:
          CREATE DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;
 示例:
         create public database link test connect to userInformation  identified by ***** using 'orcl'
   2、未配置本地服务

create database link test 
   connect to userInformation identified by *****  
     using '(DESCRIPTION = 
   (ADDRESS_LIST = 
   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521)) 
   ) 
   (CONNECT_DATA = 
   (SERVICE_NAME = fjept) 
   ) 
   )';

示例:
    
     select * from 表名@数据库链接名

其实不难看出 第一种和第二种数据库链接没有多大的区别  第一种链接其实把配置信息放到了TNSNAMES.ORA中了

转:不在同一个服务器上的数据库之间的数据操作(oracle/sql server的对比)的更多相关文章

  1. SQL不同服务器数据库之间的数据操作整理(完整版)

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  2. SQLServer服务器数据库之间的数据操作(完整版)

    分类: 数据库开发技术 ---------------------------------------------------------------------------------- -- Au ...

  3. 转载-SQL不同服务器数据库之间的数据操作整理(完整版) .

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  4. 不同服务器数据库之间的数据操作 sp_addlinkedserver

    --创建链接服务器  exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '  exec sp_addlinkedsrv ...

  5. SQLServer中跨服务器跨数据库之间的数据操作

    首先必须理解一个概念: select * from sys.servers         (查看系统表,看原来的服务器名) 要想跨域就必须在以上信息中可以检索到! 怎样添加? --创建链接服务器  ...

  6. SQL Server 之 在数据库之间进行数据导入导出

    1.同一服务器上数据库之间进行数据导入导出 (1).使用 SELECT INTO 导出数据 在SQL Server中使用最广泛的就是通过SELECT INTO语句导出数据,SELECT INTO语句同 ...

  7. Navicat连接腾讯云服务器上的数据库

    下面介绍Navicat连接腾讯云服务器上的数据库的两种方法: 方法一:[不需要修改相关远程客户端连接权限] 点击安装好的桌面navicat图标,进入后如下图: 连接方法:ssh中输入自己服务器的外网i ...

  8. MySQL复制同一个服务器的表结构和表数据

    例如,现在服务器上有数据库 dbx 和 dby,dbx中有很多表,要把dbx中的表全部复制到dby,如下操作: 首先: use dby; [复制表结构] CREATE TABLE user LIKE ...

  9. 介绍几种大型的Oracle/SQL Server数据库免费版

    我们知道,Oracle和SQL Server等大型数据库也都存在一些免费的版本,这些免费的版本已经能够满足许多中小项目的需求.对于在校大学生来说,从学习的目标上来讲,安装免费版的大型数据库也就足够用了 ...

随机推荐

  1. NOI1999 JZYZOJ1289 棋盘分割 dp 方差的数学结论

    http://172.20.6.3/Problem_Show.asp?id=1289 除了下标一坨一坨屎一样挺恶心其他都还挺容易的dp,这道题才发现scanf保留小数位是四舍五入的,惊了. f[k][ ...

  2. 【贪心大水题】BZOJ3410-[Usaco2009 Dec]Selfish Grazing 自私的食草者

    [题目大意] 给出n个区间,问最多选取多少个区间使得它们互相不重叠. [思路] 水题quq改善心情用.按照右端点大小排序,每次更新上一次的右端点,如果当前左端点大于上次右端点可取. #include& ...

  3. 第一章 -- Java性能调优概述

    写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------主要内容包括: 1.概述 2 ...

  4. UESTC 2015dp专题 H 邱老师选妹子 数位dp

    邱老师选妹子 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...

  5. GIT 提交步骤

    1.提交 git add .

  6. Ehcache缓存时间设置

    timeToLiveSeconds和timeToIdleSecondstimeToLiveSeconds=x:缓存自创建日期起至失效时的间隔时间x:timeToIdleSeconds=y:缓存创建以后 ...

  7. 深入浅出JDBC-操作时间与大对象(Clob/Blob)

    一.时间(Date.Time.Timestamp) java.sql.Date/java.sql.Time/java.sql.Timestamp extends java.util.Date publ ...

  8. C# 7.0中可能出现的语法

    今天在MSDN上看到的微软关于微软关于C# 7.0特性的Work List,主要特性如下: Tuple增强 Tuple的可读性一直不是很好, 很多时候宁愿新写一个类也不使用Item1, Item2这种 ...

  9. Si4355 低电流 Sub-GHz接收器

    Silicon Labs 的 Si4355 是易于使用的.低电流.Sub-GHz EZRadio® 接收器.覆盖所有主要波段,结合了即插即用的简单性和需要处理各种不同应用的灵活性.紧凑的 3 mm x ...

  10. 判断openfire用户的状态

    /** * 判断openfire用户的状态 * 说明 :必须要 openfire加载 presence 插件,同时设置任何人都可以访问 * /status?jid=user1@my.openfire. ...