mysql databaselink_建立dblink(databaselink)

database linke是建立一个数据库到另一个数据库的路径的对象,通过database link可以允许查询远程表,我理解可以算作一种分布式数据库的用法。 database link是单向连接,既然它是一种对象,那自然可以在xxx_objects表中查询到相关的信息。建立database link

database linke是建立一个数据库到另一个数据库的路径的对象,通过database link可以允许查询远程表,我理解可以算作一种分布式数据库的用法。

database link是单向连接,既然它是一种对象,那自然可以在xxx_objects表中查询到相关的信息。建立database link前需要明确几个事情:

1、确认从建立方的server可以访问远程数据库。

2、需要在建立方的tnsnames中配置远程数据库连接串。

3、只有在服务端配置的连接才能在dblink中使用,如果仅是在客户端配置的连接是不能在dblink中使用,我这里就犯了这个错误,执行时就报错:

select * from t@dblinktest

*

ERROR at line 1:

ORA-12154: TNS:could not resolve service name

很明显,相当于服务端未配置tnsname,因此找不到远程数据库的service name配置。

建立过程:

1、建立方的服务端配置远程数据库的tnsname配置。

2、tnsping 远程数据库tnsnames配置名称,可以通。

3、sqlplus登录后执行:

SQL> create database link dblinktest connect to user identified by passwd using 'ceshi';

其中:

dblinktest是database link的名称。

user是远程数据库的用户名。

passwd是远程数据库的密码。

ceshi是数据库服务端配置的tnsnames中名称。

4、执行:

SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';

OWNER OBJECT_NAME

--------------- -------------------------

OPEN DBLINKTEST

可以看到已经建立了这个database link。

5、执行:

SQL> select * from t@dblinktest;

ID

----------

0

2

3

4

5

当然也可以执行insert语句:

SQL> insert into t@dblinktest values(1);

1 row created.

另外database link分为public和private的,默认是private,只有当前用户可用,如果是create public database link ...,则所有用户都可以使用这个名称的database link。

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对不起,我之前给出的回答是基于PostgreSQL数据库中的dblink扩展的使用方法。而你提供的代码片段看起来是Oracle数据库中创建数据库链接的语法。 在Oracle数据库中,CREATE DATABASE LINK语句用于创建一个到另一个数据库的链接,允许在两个数据库之间进行数据传输和查询。 以下是CREATE DATABASE LINK语句的语法: ```sql CREATE [SHARED] [PUBLIC] DATABASE LINK link_name CONNECT TO user IDENTIFIED BY password [AUTHENTICATED BY user IDENTIFIED BY password] USING 'connect_string'; ``` 其中,关键字和参数的含义如下: - SHARED:可选关键字,表示创建共享链接,多个会话可以共享这个链接。如果不指定SHARED,则默认为私有链接。 - PUBLIC:可选关键字,表示将链接对所有用户可见。如果不指定PUBLIC,则默认为私有链接。 - link_name:要创建的数据库链接的名称。 - CONNECT TO user IDENTIFIED BY password:连接到目标数据库所需的用户名和密码。 - AUTHENTICATED BY user IDENTIFIED BY password:可选项,用于在创建链接时进行身份验证的用户名和密码。 - USING 'connect_string':指定要连接到的目标数据库的连接字符串。 请注意,这是Oracle数据库中创建数据库链接的语法,与我之前提到的PostgreSQL数据库中的dblink扩展是不同的。如果你具体使用的是Oracle数据库,请根据上述语法进行操作。如果你需要关于其他数据库或技术的帮助,请告诉我具体的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值