首页 > 解决方案 > 数据库链接 - 无效的用户名/密码

问题描述

我的计算机上有两个数据库:orcl 和 orcl1。

在 orcl1 中,我创建了以下数据库链接:

create public database link remote_connect
connect to system identified by ***
using 'orcl';

然后我运行以下查询:

SQL> select * from test@remote_connect;
select * from test@remote_connect
                   *
ERROR at line 1:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from REMOTE_CONNECT

我已确保用户名和密码正确,因为我使用它们登录到 orcl。有什么问题,我能做些什么来解决它?

编辑:

我的 tnsnames.ora 文件在 orcl1 目录中如下所示:

ORCL1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl1)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl1)
    )
  )

我的 tnsnames.ora 文件在 orcl 目录下如下所示:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

ORCL1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

标签: sqloracle12c

解决方案


您可能会发现使用简单的连接语法比使用 TNS 别名更简单,因为使用这些别名似乎使您不清楚您实际连接到哪个数据库。

您可以执行以下操作:

create public database link remote_connect
connect to system identified by ***
using '//localhost:1521/orcl';

推荐阅读