使用SQLPlus连接Oracle数据库,ORA-12154: TNS: 无法解析指定的连接标识符

1,315 阅读1分钟

这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战

SQL Plus工具是随Oracle数据库服务器或客户端的安装而自动进行安装的管理与开发工具,Oracle数据库中所有的管理操作都可以通过SQL Plus工具完成。SQL Plus可以运行于任何Oracle数据库运行的操作系统平台。

问题:在使用SQLPlus连接数据库时出现以下错误。

错误.png

然后查看了一下服务有没有启动。

listener服务必须要启动,OracleServiceBOOKSALES服务也启动了,注意你要连接的数据库ID(名称)就是OracleService后面紧跟的名字,你要连接哪个数据库就要保证哪个服务启动。我这里都启动了。

服务.png

然后我以为密码错误了,所以使用下载的客户端软件连接数据库测试一下(Oracle SQL Developer)发现能连接成功

连接测试.png

然后问题就不是这么简单了。通过网上的教程,找到以下解决方法。

  1. 找到安装目录下以下文件 tnsnames.ora

找文件.png

  1. 用记事本打开追加代码。(注意要将以下两处 BOOKSALES 的替换为你自己数据库名称,我的数据库名称是BOOKSALES)

    BOOKSALES =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = BOOKSALES)
        )
      )
    

修改.png

  1. 打开cmd输入 以下命令并执行 tnsping booksales 。(注意这里的booksales也要替换为你刚刚填写的数据库名称)

    显示如下表示执行成功。

成功.png

  1. 用管理员打开cmd 输入命令连接Oracle ,发现连接成功了!!然后就可以正常使用了。

image-20210318205157917.png