ORA-12514错误PL/SQL连接远程oracle10g出错,求助!

我在本机装了客户端,虚拟机装了服务端,但从客户端连接服务端出错,提示

用tnsping能ping通,客户端tnsnames.ora配置:
# tnsnames.ora Network Configuration File: e:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora# Generated by Oracle configuration tools.
IPCC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.108)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = IPCC) ) )
最新回答
枫熙槿晨

2024-10-23 06:08:58

到oracle 的安装目录下面如C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN中找到listner.ora文件,

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
--在原始的文件中加入下面内容,即将你创建的数据库的SID描述告知给监听器。---
(SID_DESC =
(GLOBAL_DBANAME = testDB)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = testDB)
)
----------------------------
)
浅夏凉眸

2024-10-23 05:50:24

先说原理:
关于12514的问题
一般来说看2个文件:
tnsname.ora和sqlnet.ora。

其中tnsname里的叫做connection string, 包含的有host的名字或者IP,还有Port (你问题中也给出了)
sqlnet说的是用户密码检验的方式,本地及安装Oracle时不需要管, 而远程时就必须要看一下。
---------------------------------------------------------------------------------------------------------
下面是你的问题:
你Ping成功了, 说明, 连接是有的。
那么要检查你的TNSNAME是否完全正确,常见错误如少括号之类的。 就你的例子来看,应该没错。tnsname无错误且Ping的连接也成功,就意味着你的 PL/SQL DEVELOPER是可以将密码通过TNSNAME的连接送到指定服务器的。

那你就要看下sqlnet:
请查一下里面的内容, 看看这句是否可以改成(None)数值。

SQLNET.AUTHENTICATION_SERVICES= (NONE)