`

Oracle跨数据库查询并插入 .

 
阅读更多

                    原文地址: http://blog.csdn.net/tangkai_java/article/details/5831741

 

工作中需要从一个数据库中的表GIS_WEICHAI_DATA_1S中的数据导入到另个一数据库的表GIS_WEICHAI_DATA_1S中,数据库服务器都是远程的<IP分别为: 221.131.228.256     211.161.192.46>!我的实现方法是在本地使用PL/SQL操作两个远程服务器,实现方式如下:

1.

              为你需要操作的远程数据库服务器建立本地服务名:

      在本地数据库安装文件中,找到$ORACLE_HOME/network/admin/tnsnames.ora文件,

    末尾添加

    --第一个远程服务器的服务名:MYORACLE1

MYORACLE1 =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

   --第一个远程服务器的服务名:MYORACLE2

 

MYORACLE2 =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

  --如果有更多的远程数据库需要同时操作,可以依次增加!

  --如果本机用的Windows操作系统,可以使用Oracle自带的Net Manager 工具,以图形化的操作方式来建立服务名!

2

    在本机上使用sysdba的角色登录本地数据库,创建database link 

    执行如下sql语句:

    --远程服务器一的对应database link

        create public database link MYDBLINK1   --可以随便取名,当然,不能是关键字或保留字

        connect to dbUserName1 identified by dbpwd1

        using ' MYORACLE1';

    --远程服务器二的对应database link

        create public database link MYDBLINK2  --可以随便取名,当然,不能是关键字或保留字

        connect to dbUserName2 identified by dbpwd2

        using ' MYORACLE2';

    --其中using后面填对应的数据库服务名,dbUserName1dbpwd1填对应的数据服务器登录名,密码

    --删除database link

          Drop database link MYDBLINK1;  --本例中是MYDBLINK1MYDBLINK2

3.

      操作远程服务器上的表,在要在对应的表后面加上@ linkName(对应的数据库链接名),就跟操作本地数据库中的表差不多,可以从不同数据库服务器中提取数据!很方便!

       insert into GIS_WEICHAI_DATA_1S@MYDBLINK1 select * from GIS_WEICHAI_DATA_1S@ MYDBLINK2 where rownum<=10000;

4

    如果需要频繁的使用远程服务器中的表,上面的写法有点烦人,这时候可以考虑为这个表创建一个同义词
        create synonym syName for GIS_WEICHAI_DATA_1S@MYDBLINK1;

    以后在要使用GIS_WEICHAI_DATA_1S@MYDBLINK1的时候用syName就可以了!

    删除同义词的语法为:

        drop synonym syName;

5.

    查看当前数据库的DB Link;

      select * from user_db_links; --用户 DB Link
      select * from dba_db_links;  --dba DB Link
      select * from v$dblink;      --当前DB Link

分享到:
评论

相关推荐

    Oracle跨数据库查询并插入实现原理及代码

    Oracle跨数据库查询并插入是一种常见的数据迁移或同步技术,它允许你在不同的Oracle数据库实例之间进行数据操作。在本文中,我们将深入探讨实现这一功能的原理和步骤。 首先,要实现跨数据库查询和插入,你需要在...

    oracle数据库从入门到精通.pdf

    综上所述,文档《oracle数据库从入门到精通.pdf》从表空间的创建讲起,逐步深入到用户管理、数据类型介绍、数据操作语言、备份恢复命令以及查询语句的编写等多个方面,为读者提供了一个全面的Oracle数据库学习路径,...

    ORACLE数据库学习总结资料.pdf

    Oracle数据库学习总结资料.pdf 是一份关于 Oracle 数据库的学习总结资料,涵盖了 Oracle 数据库的各个方面,包括 Oracle 的简介、简单查询、标量函数和算数运算、多表查询、列函数和分组、子查询、表的更新操作、表...

    Oracle9i数据库开发培训教材.rar

    2. **SQL基础**:教材会涵盖SQL的基本概念,包括数据查询、插入、更新和删除,以及如何创建和管理表、视图、索引等数据库对象。还会涉及子查询、联接操作、集合操作和事务管理等高级SQL用法。 3. **PL/SQL编程**:...

    Oracle数据库课程设计报告.docx.pdf

    Oracle 数据库课程设计报告 本课程设计报告的主要目的是设计一个完整的图书管理系统,使用 Oracle 作为后台数据库,VC、C++、C# 作为前台开发工具。该系统应包含输入输出、查询、插入、修改、删除等基本功能。 ...

    Oracle Database12c DBA官方手册 .rar

    4. **SQL与PL/SQL**:深入解析SQL语言,包括查询、插入、更新、删除等操作,以及PL/SQL编程,如过程、函数、包的编写和调用。 5. **安全性**:介绍用户管理、权限和角色、审计、数据加密等,确保数据库的安全性。 ...

    Oracle数据库课程大作业.pdf

    Oracle数据库是一种广泛应用于企业和组织的大型关系型数据库管理系统,它提供了高效的数据存储、管理和查询功能。在Oracle数据库课程中,学生们通常会被要求掌握一系列基础知识,包括数据库的逻辑存储结构、服务端口...

    oracle示例数据库OT,oracle示例数据库 hr,SQL源码.zip.zip

    在企业环境中,理解并掌握Oracle数据库的使用对于DBA(数据库管理员)和开发人员至关重要。例如,通过OT和HR数据库,他们可以学习如何设计符合业务需求的数据库架构,以及如何编写高效、安全的SQL代码来支持企业的...

    Oracle数据库常见疑难解答.rar

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它提供了高效的数据存储、管理和查询功能。在数据库开发过程中,经常会遇到各种疑难问题,本压缩包"Oracle数据库常见疑难解答.rar"显然是针对这些问题...

    oracle触发器的创建和跨数据库查询.zip

    在Oracle中,数据库链接(DB Link)是一种连接到远程Oracle数据库的机制,允许我们在本地数据库上执行远程数据库的操作。创建DB Link的基本语法如下: ```sql CREATE DATABASE LINK db_link_name CONNECT TO remote...

    C#连接Oracle数据库Oracle.ManagedDataAccess

    在.NET开发环境中,C#语言提供了丰富的库支持与多种数据库进行交互,其中之一就是Oracle数据库。Oracle.ManagedDataAccess是Oracle公司推出的全托管.NET数据提供者,它允许C#开发者无需依赖Oracle客户端,直接通过...

    oracle大型数据库实验报告1.docx

    以上内容是Oracle大型数据库实验的基础,通过这些实验,学生可以深入理解Oracle数据库的运作机制,并为更高级的数据库管理和开发打下坚实的基础。在实际操作中,还需要注意数据库的安全性、性能调优、备份恢复等高级...

    Oracle数据库笔记共23页.pdf.zip

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,它由甲骨文公司(Oracle Corporation)开发和维护。这份"Oracle数据库笔记共23页.pdf.zip"文件显然包含了一份详尽的Oracle数据库学习资料,可能是从...

    Java操作Oracle数据库-多线程.rar

    2. **Oracle数据库操作**:一旦建立了连接,我们可以通过`Statement`或`PreparedStatement`对象来执行SQL语句,包括查询、插入、更新和删除数据。在本示例中,还涉及到调用Oracle数据库中的函数和存储过程,这通常...

    oracle向数据库里插入图片

    本文将详细介绍如何在Oracle数据库中插入、查询和管理图片。 首先,我们需要创建一个包含BLOB列的表来存储图片。以下是一个创建该表的SQL语句示例: ```sql CREATE TABLE images ( id NUMBER PRIMARY KEY, image...

    ojdbc6--oracle数据库连接驱动.rar

    Oracle数据库是世界上最流行的关系型数据库管理系统之一,广泛应用于企业级应用、数据分析以及互联网服务等领域。在Java编程中,为了与Oracle数据库进行交互,我们需要使用特定的数据库连接驱动,这就是ojdbc6驱动的...

    Oracle数据库的应用开发 Oracle数据库的应用开发.ppt

    Oracle数据库在应用开发中扮演着至关重要的角色,它是一个强大且广泛使用的数据库管理系统,尤其适合企业级的数据存储和处理。本教程将深入讲解如何基于Oracle数据库进行应用开发,包括数据库设计的方法、人事管理...

    Oracle数据库01数据库起步.ppt

    Oracle数据库是世界上最流行的数据库管理系统之一,尤其在企业级应用中占据重要地位。"Oracle数据库01数据库起步"的课程内容涵盖了数据库系统的基础知识,旨在帮助初学者建立起对Oracle数据库的全面理解。 首先,...

    oracle数据库测试sql文件.zip

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。它提供了丰富的功能,包括数据存储、查询、事务处理、安全性、备份恢复等。本压缩包"oracle数据库测试sql文件.zip"显然是...

Global site tag (gtag.js) - Google Analytics