oracle错误12154

本文介绍了如何解决在使用PL/SQL连接新建Oracle数据库时遇到的12154错误。通过更新PL/SQL的NETWORK文件夹来同步最新的数据库网络服务信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天新建一个oracle数据库shop完成之后,用PL/SQL连接该数据库,在Database中没有数据库shop可以选,自己写上去后,点击OK,报12154错误。




在网上查询了一些解决方案,但没有解决我的问题。

检查了服务是否启动,主服务和监听服务都已经启动了



打开cmd或者sqlplus,输入tnsping shop,可以ping通


'

那么,就应该时PL/SQL出问题了。原来,orale数据库的网络服务配置文件写在NETWORK\ADMIN\tnsnames.ora文件里



新建数据库时oracle会把该数据库相关网络服务配置写进去,该文件位置是在 ...\product\11.2.0\dbhome_1\NETWORK\ADMIN

然而PL/SQL中的NETWORK文件没有得到更新,所以打开PL/SQL,它没有新建的数据库网络服务信息,所以无法解析连接

因此,将Oracle目录下的NETWORK文件夹复制替换掉PL/SQL目录下的NETWORK,重新启动PL/SQL,再次连接就成功了。



### Oracle 错误 12154 的解决方案 当遇到 Oracle 错误 12154 时,这通常意味着客户端无法解析指定的服务名。此问题可能由多种原因引起,包括但不限于 `tnsnames.ora` 文件配置不正确、网络服务名拼写错误或环境变量设置不当。 #### 检查 TNS 名字文件路径和内容 确保 `tnsnames.ora` 文件位于正确的目录下,并且其内容格式无误。对于 Windows 系统,默认位置通常是类似于 `d:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\` 这样的路径[^3]。确认文件中的条目是否包含目标数据库实例的信息: ```plaintext SHOP = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name_or_ip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = shop) ) ) ``` #### 设置环境变量 验证 `TNS_ADMIN` 环境变量已指向包含有效 `tnsnames.ora` 文件的目录。如果未定义,则应用程序可能会尝试从默认位置读取该文件,而那里可能存在旧版本或其他不符合当前需求的内容。 #### 使用 Easy Connect 方式测试连接 作为临时措施,可以直接通过主机地址和服务名建立连接而不依赖于 `tnsnames.ora` 文件。例如,在 SQL*Plus 中输入如下命令进行测试: ```sql connect username/password@//your_host_name_or_ip:1521/shop ``` #### 审核防火墙和其他安全策略 有时企业级环境中部署的安全设备会阻止必要的端口通信,特别是首次创建新数据库链接时容易忽略这一点。检查是否有任何规则阻碍了客户端到服务器之间的正常通讯。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值