`
stop_
  • 浏览: 49636 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

oracle中建立数据库链接

阅读更多

命令如下:

create database link databaseLinkName

connect  to  userName

identified by password

using databaseServiceName

//常见错误:

1.成功建立,但是没有办法查询出数据,错误为:

 ORA-02085

当global_name参数设置为true,则dblink必须命名为和在目标数据库如下查询出的结果一致:

select * from grobal_names;

When the source database initialization parameter GLOBAL_NAMES is set to true, the

database link name must match the target database global name as it exists in the GLOBAL_NAME

view in the data dictionary.

The GLOBAL_NAME can be determined by logging in to the database with system privileges and issuing the following command:

SQL>Select * from global_name;

Additionally, if you do not specify the domain portion of the dblink name in the create statement, Oracle automatically qualifies the link name with the domain of the SOURCE database global name view.

Check the contents of ALL_DB_LINKS for the fully qualified link name.

For example, if you defined a database link in PROD.ORACLE.COM to connect to target instance TEST.WORLD.COM in the following manner:

SQL>Create public database link TEST connect to userid identified by password using ?test?;

SQL>select * from tablename@TEST;

This select would yield the following error:

ORA-2085 "database link TEST.ORACLE.COM connects to TEST.WORLD.COM"

The correct syntax for defining the link would be:

SQL>Create public database link TEST.WORLD.COM connect to userid identified by password using “test”;

SQL>select * from tablename@TEST.WORLD.COM;

Would yield desired result.

It is possible to alter the GLOBAL_NAME table so that the domain portion of both SOURCE and TARGET global names are identical. This would eliminate the need to include the domain in the create database link statement.

In the above example, we could alter the GLOBAL_NAME of TEST.WORLD.COM in the following manner:

Login to TEST with system privileges and issue:

SQL>alter database rename global_name to TEST.ORACLE.COM;

Now, the create database link statement could also be changed.

Login to PROD.

SQL>create public database link TEST connect to userid identified by password using ?test?;

A database link would be defined in ALL_DB_LINKS as TEST.ORACLE.COM.

SQL>select * from tablename@TEST;

This would yield the desired result.

 

 2.无法建立链接:

错误如下:

ORA-02082: a loopback database link must have a connection qualifier

这是因为:

本机的global_name和databaseLinkName相同,

把databaseLinkName该成和global_name不相同的名称就可以了。

 

分享到:
评论

相关推荐

    Oracle链接其他数据库

    在Oracle中,可以通过执行`CREATE DATABASE LINK`命令来创建数据库链接。具体语法如下: ```sql CREATE DATABASE LINK link_name CONNECT TO username IDENTIFIED BY password USING 'db_connection_string'; ``` ...

    oracle新建数据库和连接配置步骤

    1. **环境准备**:在开始创建数据库之前,确保已经安装了Oracle Database软件,并且操作系统环境满足Oracle的硬件和软件要求。此外,还需要设置好环境变量,如ORACLE_HOME、PATH、TNS_ADMIN等。 2. **启动Oracle...

    Oracle 外链其他数据库

    本文将深入探讨如何在Oracle中创建数据库链接(Database Link),以及如何使用这些链接进行数据查询和视图创建。 首先,我们来看如何创建数据库链接。创建数据库链接的SQL语句是`CREATE DATABASE LINK`,它定义了...

    oracle数据库链接

    如果直接定义网络服务,可以省去在`tnsnames.ora`文件中设置TNS别名的步骤,直接在创建数据库链接的SQL语句中指定远程数据库的网络地址和服务名,如: ```sql CREATE PUBLIC DATABASE LINK BKSVR_LINK CONNECT TO ...

    Oracle 手工创建数据库完整步骤

    ### Oracle手工创建数据库完整步骤详解 #### 系统环境配置 在进行Oracle数据库的手工创建之前,确保系统环境已正确设置。本示例基于以下环境: - **操作系统**:Windows 2000 Server - **数据库版本**:Oracle 9i...

    oracle数据库和mysql数据库的链接信息

    在实际应用中,通常会在Java应用程序中使用这些信息来建立数据库连接。例如,可以使用`java.sql.DriverManager`类来注册驱动并获取数据库连接。 ```java // 注册Oracle驱动 Class.forName("oracle.jdbc.driver....

    连接其他oracle数据库信息创建本地视图

    这可以通过创建数据库链接(Database Links)实现,标题“连接其他Oracle数据库信息创建本地视图”正是围绕这一主题展开。数据库链接允许我们在一个Oracle实例中创建对另一个Oracle实例的逻辑连接,从而能够查询远程...

    Oracle数据库认证大师

    考题三是关于创建数据库链接的命令。在Oracle数据库中,数据库链接用于连接到另一个数据库,并允许一个数据库中的用户访问另一个数据库中的对象。在本例中,需要创建一个数据库链接,使得ORCL数据库中的所有用户都...

    安装oracle异构数据库组件_创建实例

    本教程将聚焦于如何在Oracle环境中安装异构数据库组件,以便连接到SQL Server,并创建数据库链接,实现跨数据库的数据查询。 首先,安装Oracle异构数据库组件是关键步骤。这个过程可以通过启动“开始”菜单中的...

    VFP调用ORACLE存储过程数据库接口程序.pdf

    在程序的实现过程中,执行VFP的execute函数和Fields(”XX”).value、INSERT等函数,将从Oracle数据库中获得的数据逐条送入VFP数据库中已存在的DBF表中。最终实现Oracle数据库内容向VFP数据表的自动转换。通过这种...

    用其它oracle数据库表内容创建本地视图

    创建数据库链接后,可以从当前数据库通过该链接查询远程数据库中的数据,就好像它们是在同一个数据库中一样。 ##### 2. 创建步骤 假设我们需要连接到的远程数据库服务器地址为192.168.99.120,端口为1521,SID为...

    SQLSERVER建立ORACLE的链接服务器.doc

    在 SQL Server 中创建链接服务器可以访问 Oracle 数据库实例,实现分布式查询。创建链接服务器需要确保 Oracle 客户端软件达到所要求的级别,并在运行 SQL Server 的服务器上创建指向 Oracle 数据库实例的 SQL*Net ...

    创建数据库链接

    语句创建ORALCE数据库链接,直接执行,替换数据库实例名即可

    Oracle9i关系数据库实用教程

    第十章 Oracle9i网络功能:介绍Oracle的网络架构,包括Net8配置,以及分布式数据库和数据库链接的概念,让数据库可以跨越多个网络节点进行通信。 第十一章 应用实例:提供实际案例,展示如何将所学知识应用于解决...

    Oracle分布式数据库建立步骤

    - **执行SQL脚本**:创建数据库链接(databaselink)。 - `create database link link1 connect to scott identified by tiger using 'orcl';` - **解释**:此语句创建了一个名为`link1`的数据库链接,通过服务器2的...

    Oracle数据库链接技术及其应用.pdf

    创建数据库链接的SQL命令是`CREATE DATABASE LINK`,需要指定链接的名称、连接的用户名、密码以及连接串。 在实际应用中,例如在MDSS系统中,由于包含了实时数据库、综合数据库和对外共享数据库等多个逻辑上独立的...

    通过ORACLE通用连接访问SQLServer数据库的方法

    完成上述配置后,下一步是在Oracle数据库中创建数据库链接(DATABASE LINK),以实现从Oracle数据库直接访问SQL Server数据库的功能。 1. **创建公共数据库链接**:使用以下SQL命令创建公共数据库链接ET2000: ```...

    基于C#连接Oracle数据库Oracle.ManagedDataAccess

    总的来说,Oracle.ManagedDataAccess为C#开发者提供了一个轻量级且高效的连接Oracle数据库的方式,使得在没有安装完整Oracle客户端的环境中也能顺利进行数据库操作。通过掌握这个库的使用,你可以更便捷地构建和维护...

    Jdbc连接oracle远程数据库中文乱码解决

    在Java应用中,数据在JVM(Java虚拟机)内部是以Unicode编码存储的,而Oracle数据库可能采用不同的字符集,如GBK或UTF-8等。因此,当数据在两者之间传输时,如果没有正确设置编码转换,就可能出现乱码。 1. **配置...

Global site tag (gtag.js) - Google Analytics