`

database link 创建、使用及常见问题

 
阅读更多

 在oracle中数据库与数据库 之间相互访问可以采用database link (以下简称dblink)方式连接,

 在每个数据库服务器上设置链接字符串,即服务名,就是我们用plsql登陆需要选择的那个东西

例如:

ORCL101 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.101)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

 ORCL101 数据库服务器连接字符串 服务名

 

1、创建db link

 

方式一、直接新建服务连接字符串

 SQL>create public database link  DONG connect to dong717 identified by "Dong717" 
using  '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.220)(PORT = 1521))
)
(CONNECT_DATA =
(service_name=ORCL)))';
 

 

方式二、使用已经建好的服务名

 

SQL>create public database
  link  DONG connect to dong717
  identified by "Dong717" using  'ORCL101';

 

2、查看数据库连接

 
sql> select owner, db_link from dba_db_links; 

OWNER   DB_LINK

 PUBLIC     DB_156

 

3、使用dblink执行查询

 

SQL>select * from  tb_sys_department t,department@DONG d where d.code=t.search_key

 

4、为了方便查询可以建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym

 

SQL>create synonym dept_link for department@DONG;
SQL>select * from dept_link

 

5、删除dblink

 

SQL>drop public database link DONG;

 

6、常见错误

 

1、ORA-12154: TNS : 无法处理服务名

 出现这种错误一般情况下是因为:
A:192.168.0.1 B: 192.168.0.2 C: 192.168.0.3
例如创建的服务名为dong717_B_at_c,是在C上配置的与B的连接。我们的目的 是创建从A到B 的数据库链,但我们使用的服务名却是 C B 的连接!
 
正确的方法是:在 A 上配置对应B 服务名dong717_B _at_a,从A连接到B。
遇到此类错误建议采用上面说的第一种方式创建dblink ,

分享到:
评论

相关推荐

    DBLink的创建和使用

    1. CREATE DATABASE LINK:仅创建者可以使用的私有DBLink。 2. CREATE PUBLIC DATABASE LINK:所有用户都可以使用的公共DBLink。 3. DROP PUBLIC DATABASE LINK:删除公共DBLink的权限。 在创建DBLink前,需要检查...

    vc调试入门及常见问题

    【VC调试入门及常见问题详解】 调试是编程过程中不可或缺的一部分,它能帮助开发者发现和修复程序中的错误。Visual C++(简称VC)提供了一套强大的调试工具,使得开发者能够更有效地定位和解决问题。以下是一些关于...

    Linux_oracle创建数

    grant create database link to goonie; grant select any sequence,create materialized view to goonie; ``` 6. 如果创建过程中出现错误,可以删除表空间,使用以下命令删除名为`goonie`的表空间及其所有数据...

    Oracle中定义以及使用同义词的方法

    - 创建远程数据库对象的同义词:`CREATE SYNONYM local_synonym_name FOR remote_object_name@database_link;` 5. **同义词权限管理** - **CREATE SYNONYM**:允许用户在其模式下创建私有同义词。 - **CREATE ...

    如何在Oracle中通过网络连接导入数据

    在Oracle 10g中,通过网络连接导入数据的核心在于使用`DATABASE LINK`,它是一种数据库对象,用于在不同的Oracle数据库实例之间建立连接。 首先,需要创建一个数据库链接,以识别源数据库并提供认证信息。例如,...

    oracle新手入门指导之八—数据库远程访问小知识.txt

    使用创建好的Database Link,可以从本地数据库直接查询远程数据库中的数据: ```sql SELECT * FROM user2.test_table@test_dblink; ``` 通过以上几种方法,我们可以有效地实现Oracle数据库之间的远程访问。...

    Laravel开发-shortlink

    "Laravel开发 - shortlink"项目显然涉及到在Laravel 5.5版本上实现短链接服务,这是一种常见的功能,可以将长URL转换为简短易记的链接,方便分享和管理。 首先,让我们深入理解Laravel 5.5的关键特性。Laravel 5.5...

    计算机软件及应用创建应用程序框架PPT学习教案.pptx

    【计算机软件及应用创建应用程序框架】是编程领域中一种高效的方法,它允许开发者构建具有相似结构和功能的应用程序,减少重复编码的工作量。应用程序框架(Application Framework)是预先编写的一组通用代码,这些...

    Link Database Module (LDM)-开源

    **Link Database Module (LDM) 开源项目** Link Database Module(LDM)是一个开源软件项目,专注于提供数据库连接和管理功能。尽管这个项目已经不再活跃,但它的源代码仍然可供社区学习和使用。理解LDM的关键知识...

    vc_link_sql.zip_SQL vc++_VC SQL

    在VC++中,最常见的连接SQL数据库的方式是通过ODBC(Open Database Connectivity)。ODBC是一个标准的API,允许应用程序通过统一的接口访问不同类型的数据库。Microsoft提供了一个ODBC驱动程序管理器,它负责管理...

    PHP-link-SQL-SERVER.rar_php sql server

    而SQL Server是Microsoft公司推出的一款强大的关系型数据库管理系统(RDBMS),在企业级应用中非常常见。当需要在PHP环境中操作SQL Server数据库时,就需要使用特定的扩展或类库来实现连接和数据交互。本资料...

    C操作SQLServer2005数据库的动态库的创建及调用.docx

    ### C++操作SQL Server 2005数据库的动态库创建及调用 #### 一、概述 在软件开发过程中,使用C++语言通过动态链接库(DLL)来操作SQL Server 2005数据库是一种常见的技术手段。这种方式能够提高程序的模块化程度和...

    sqlserver sql语法大全

    创建新表使用`CREATE TABLE`命令,并定义列的数据类型及约束条件。 **语法示例:** ```sql CREATE TABLE [表名称]( [列1] [数据类型] [约束], [列2] [数据类型] [约束], ... ); ``` **说明:** - `[表名称]`:...

    松翰SONiX 8051 MCU开发指导V1.0.pdf

    本文将详细探讨开发指导中涵盖的关键知识点,包括开发环境的搭建、软件开发、工程创建、调试仿真以及常见问题解决。 首先,开发环境的搭建是开始嵌入式开发的第一步。本指导推荐使用Keil C51作为编译器,这是因为...

    oracle数据库同步交换的方法-我收集的常见

    5. **数据库链接(DATABASE LINK)**:在两个数据库之间创建数据库链接,可以直接在另一个数据库中写入新数据,实现数据交换。 6. **SQLPLUS的COPY命令**:SQLPLUS的COPY命令可以用来快速地在本地和远程数据库之间...

    几种常见的数据库连接方法.pdf

    在代码中,你可以创建一个`OdbcConnection`对象,然后使用DSN作为连接字符串的一部分。例如: ```csharp String connstr = @"DSN=sample"; OdbcConnection myConnection = new OdbcConnection(connstr); ``` ...

    Java开发购物网站(三)

    - `CREATE DATABASE LINK`:创建数据库链接。 - `CREATE SEQUENCE`:创建序列。 - `CREATE SESSION`:建立会话。 - `CREATE SYNONYM`:创建同义词。 - `CREATE VIEW`:创建视图。 ##### 2. RESOURCE角色 - **...

Global site tag (gtag.js) - Google Analytics