Oracle Pl sql 登录时提示 “监听程序当前无法识别连接描述符中请求的服务” 。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle Pl sql 登录时提示 “监听程序当前无法识别连接描述符中请求的服务” 。相关的知识,希望对你有一定的参考价值。
各位请教问题:紧急求助!!!!!
Pl sql 登录时提示 “监听程序当前无法识别连接描述符中请求的服务” 。
查看服务:都已启动。重启之后也是提示监听错误。
在dos中:
Lsnrctl start ----- 命令执行成功。
Lsnrctl stop ----- 命令执行成功。
我在dos中测试:
使用的 imp: 输入用户名、口令后,提示 “连接服务器失败,可能是Net8管理错误。”
[oracle@prod ~]$ oerr ora 28547
28547, 0000, "connection to server failed, probable Oracle Net admin error"
// *Cause: A failure occurred during initialization of a network connection
// from a client process to the Oracle server. The connection
// was completed but a disconnect occurred while trying to
// perform protocol-specific initialization, usually due to
// use of different network protocols by opposite sides
// of the connection. This usually is caused by incorrect
// Oracle Net administrative setup for database links or external
// procedure calls. The most frequent specific causes are:
// -- The connection uses a connect string which refers
// to a Heterogeneous Services agent instead of
// an Oracle server.
// -- The connection uses a connect string which includes
// an (HS=) specification.
// -- Hitting Ctrl+C before connection initialization is
// complete.
// -- Using DRCP on Windows with SQLNET.AUTHENTICATION_SERVICES
// set to NTS.
// -- Connection timeout due to SQLNET.INBOUND_CONNECT_TIMEOUT
// parameter when all shared servers are busy in
// shared server configuration.
// *Action: Check Oracle Net administration in the following ways:
// -- When using TNSNAMES.ORA or an Oracle Names server, make sure
// that the client connection to the Oracle server uses
// the correct service name or SID.
// -- Check LISTENER.ORA on the connection end point\'s host machine
// to assure that this service name or SID refers
// to the correct server.
// -- Confirm in TNSNAMES.ORA or the equivalent service definition
// that the connect string does not contain (HS=).
// -- Set SQLNET.AUTHENTICATION_SERVICES to NONE when using DRCP
// on Windows.
//
首先保证你的数据库已经启动了。
然后启动plsql developer
如图,你按照这种直接连接的方式填写database那一栏试一下,格式如下:
ip:端口号/sid
例如上图,
192.168.100.167是oracle服务器的ip地址
1521是监听器的端口号
orcl是oracle数据库的sid
如果这样可以连接,拿就是你的tnsnames.ora文件配置的问题了。
追问我试了一下 连不上
追答写错了。报什么错?
参考技术A 通过 lsnrctl status 命令查看一下监听的状态,看看监听有没有配置正确。 参考技术B 应该tnsnames.ora配置有问题 参考技术C 你配了tns没PL/SQL Oracle 无提示错误
【中文标题】PL/SQL Oracle 无提示错误【英文标题】:PL/SQL Oracle hintless error 【发布时间】:2011-03-02 05:52:49 【问题描述】:我正在使用 SQL Dveloper IDE 在 Oracle 中编写一个函数。 该函数工作得很好,当我添加这个语句时:
INSERT INTO bl_transaction
VALUES(generated_id,'0','0','Y',NOW(),'0',NOW(),'0',CAST(dbms_random.value(100,100000) as integer), tuple.billing_id, tuple.created, sys_guid(), first_invgroup, 'Y', 'N', tuple.guid, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
编译器给我一个无提示的错误:
ORA-06553:PLS-320:此表达式类型的声明不完整或格式错误
我已经查看了所有可能的类型不匹配、参数数量等。
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:NOW() 不是用于获取当前日期和时间的受支持的 Oracle 函数 -- SYSDATE
是。试试:
INSERT INTO bl_transaction
VALUES(generated_id,'0','0','Y',SYSDATE,'0',SYSDATE,'0',CAST(dbms_random.value(100,100000) as integer), tuple.billing_id, tuple.created, sys_guid(), first_invgroup, 'Y', 'N', tuple.guid, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
但你也有:
tuple.created tuple.billing_id...作为值,但不包括这些值的来源。
第三,由于您没有提供要插入的列的列表,我们无法知道您的查询是否或多或少地指定了您尝试插入的表中的列数...或深入了解每个位置的数据类型。
【讨论】:
以上是关于Oracle Pl sql 登录时提示 “监听程序当前无法识别连接描述符中请求的服务” 。的主要内容,如果未能解决你的问题,请参考以下文章
PL/SQL连接Oracle,提示ORA-12504:TNS监听程序在connect-data中未获得service-name
换电脑后pl/sql连接oracle数据库总是提示不能初始化oci.dll,已经下过32位的Oracle client
oracle 10g ,PL/SQL问题:ORA-12520:TNS:监听程序无法为请求的服务类型找到可用的处理程序,怎么办?如图
oracle 10g ,PL/SQL问题:ORA-12520:TNS:监听程序无法为请求的服务类型找到可用的处理程序,怎么办?如图