gbr*_*ton 18 oracle sqlplus connect
我从Oracle下载了SQLPLUS:
http://www.oracle.com/technetwork/topics/winx64soft-089540.html
Basic Lite和SQL*Plus
然后我启动了SQL*Plus:
c:\Program Files\Oracle\instantclient_12_1>sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on Wed Apr 15 15:25:36 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Run Code Online (Sandbox Code Playgroud)
并尝试连接到数据库:
connect user\password@hostname
Run Code Online (Sandbox Code Playgroud)
并收到错误消息:
ERROR:
ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我运行了Jakub建议的查询,我得到了
SQL> select sys_context('USERENV','SERVICE_NAME') from dual;
SYS_CONTEXT('USERENV','SERVICE_NAME')
--------------------------------------------------------------------------------
SYS$USERS
SQL> select sys_context('USERENV','SID') from dual;
SYS_CONTEXT('USERENV','SID')
--------------------------------------------------------------------------------
877
SQL>
Run Code Online (Sandbox Code Playgroud)
jak*_*etr 19
你缺少服务名称:
SQL> connect username/password@hostname:port/SERVICENAME
Run Code Online (Sandbox Code Playgroud)
编辑
如果您可以从其他计算机连接到数据库,请尝试在那里运行:
select sys_context('USERENV','SERVICE_NAME') from dual
Run Code Online (Sandbox Code Playgroud)
和
select sys_context('USERENV','SID') from dual
Run Code Online (Sandbox Code Playgroud)
ale*_*nin 14
在相同的情况下,我遇到了完全相同的问题.我没有tnsnames.ora文件,我想在命令行中使用带有Easy Connection Identifier格式的SQL*Plus.我解决了这个问题如下.
在SQL*PLUS®用户指南和参考给出了一个例子:
sqlplus hr @ \"sales-server:1521/sales.us.acme.com \"
请注意两个要点:
我发现这些好问题,通过现有的连接,检测服务名称:1,2.尝试此查询,例如:
SELECT value FROM V$SYSTEM_PARAMETER WHERE UPPER(name) = 'SERVICE_NAMES'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82644 次 |
| 最近记录: |