plsql developer不能连接oracle,出现12154 无法解析指定的连接标符?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了plsql developer不能连接oracle,出现12154 无法解析指定的连接标符?相关的知识,希望对你有一定的参考价值。
使用cmd窗口和oracle自带的sqlplus可以连接数据库;
下面是tnsnames.ora中的类容:
# tnsnames.ora Network Configuration File: E:\develop\Oracle\app\Stapler\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORACLE)
)
)
LISTENER_ORACLE =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
67 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.12.67)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = JTCRM)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
247 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.247)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = JTCRM)
)
)
111 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.111)(PORT = 1521))
)
(CONNECT_DATA =
(SID = jtcrm)
)
)
cmd窗口和oracle自带的sqlplus可以连接数据库,连接的时候使用 本地网络服务名了吗?
sqlplus user/pwd@orcl
还是
sqlplus user/pwd
是32位的系统还是64位的系统?
64位环境下,使用PL/SQL Developer连接Oracle:
•1. 下载32位Oracle InstantClient,并展开到某目录,例如C:\instantclient-basic-nt-11.2.0.2.0;
•2. 将系统的tnsnames.ora拷贝到该目录下;
•3. 在PLSQL Developer中设置Oracle_Home和OCI Library:
ToolsPreferencesOracleConnection:
Oracle_Home: C:\instantclient-basic-nt-11.2.0.2.0
OCI Library: C:\instantclient-basic-nt-11.2.0.2.0\oci.dll
•4. 在PLSQL Developer目录下新建如下bat文件,替换其快捷方式,启动PLSQL Developer:
@echo off
set path=C:\instantclient-basic-nt-11.2.0.2.0
set ORACLE_HOME=C:\instantclient-basic-nt-11.2.0.2.0
set TNS_ADMIN=C:\instantclient-basic-nt-11.2.0.2.0
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
start plsqldev.exe 参考技术A 产生原因有2点:1、没有安装oralce-client 2、没有配置连接远程数据库的网络服务
解决如下:首先安装 oracle-client(主要是pl/sql 依赖于oracle-client),配置网络服务,主要是在oralce-client建立 与远程数据库的一个连接信息.
能不能算是PLSQL Developer的锅?
《一个Oracle添加索引造成其他用户对此表的查询权限丢失的案例》引用了一个PLSQL Developer中因为创建索引导致表的查询权限丢失的诡异场景,很多朋友留言,没能复现问题。
我咨询了当事人,他使用的是PLSQL Developer 11.0.5,Oracle 11g Client 64bit,连接的是Oracle 11g,
跟他腾讯会议,录制了整个操作的过程,每次都可以复现,具体步骤如下,
1. SQL语句执行create table t2 (c1 number, c2 varchar2(1));
2. 图形界面加主键,
3. SQL语句执行grant给其他的用户,例如,
grant select on t2 to test;
4. 图形界面加索引,需要包含主键作为复合索引第一个字段,
5. 不执行该操作,直接点击打开view SQL,就会看到create index跟着一条revoke的语句,而且只会出现在第一次创建索引的时候,
-- Create/Recreate indexes
create index idx_t2_01 on T2 (id, c1);
-- Grant/Revoke object privileges
revoke select on t2 from test;
更换其他版本的客户端,例如PLSQL Developer 9.0.6,或者连接Oracle 19c,或者更换了一台机器,重新安装这些软件客户端,还是能够复现。
相反之下,我和几位朋友,用相同的软件,没出现这种现象。
虽然没能复现,但是我觉得问题还是可能出现在客户端,例如PLSQL Developer一些特殊配置上,或者上述特殊的逻辑操作过程存在bug,
如果哪位朋友测出了这个场景,可以留言说说,挖掘出这个问题背后真正的原因。但无论什么原因,当我们碰到这种场景的时候,还是要培养我们排查问题、解决问题的逻辑能力,先解决问题,至少能满足基本的需求。
如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发pyq,
近期更新的文章:
《一个Oracle添加索引造成其他用户对此表的查询权限丢失的案例》
《你关电脑么?》
近期的热文:
文章分类和索引:
以上是关于plsql developer不能连接oracle,出现12154 无法解析指定的连接标符?的主要内容,如果未能解决你的问题,请参考以下文章
plsql developer连接oracle 11g数据库吗