我的网络上有一个Oracle数据库,我可以使用主机名,端口,用户名,密码和SID连接到Oracle SQL Developer。如何查找Oracle服务名称
我需要连接另一个应用程序(Quantum Gis),但它使用服务名称而不是SID。
当我通过SID连接到SQL Developer时,有什么方法可以确定数据库的SERVICE_NAME吗?
我无权访问服务器并且没有本地tnsnames.ora或类似文件。
我的网络上有一个Oracle数据库,我可以使用主机名,端口,用户名,密码和SID连接到Oracle SQL Developer。如何查找Oracle服务名称
我需要连接另一个应用程序(Quantum Gis),但它使用服务名称而不是SID。
当我通过SID连接到SQL Developer时,有什么方法可以确定数据库的SERVICE_NAME吗?
我无权访问服务器并且没有本地tnsnames.ora或类似文件。
由于这个线程(https://community.oracle.com/thread/473276)
select sys_context('userenv','service_name') from dual;
它可以与普通用户帐户执行,不需要SYSDBA权限
它返回的是SYS $ USERS。我最终与DBA取得了联系,所以这不再是问题 –
这实际上确实返回了TNSNames中为我定义的当前Service_name。有一个upvote。 – Marco
它也适用于我 - 一个更多upvote – TheRoadrunner
连接到服务器“系统”采用SID。 执行此查询:
select value from v$parameter where name like '%service_name%';
它为我工作。
对于需要帮助的任何人请注意,url需要sid而不是服务名称。完整的服务名称不适用于我:'jdbc:oracle:thin:@localhost:1521:orcl.athens。这个工作:'jdbc:oracle:thin:@localhost:1521:orcl' –
@GeorgePligor:请注意区别:'jdbc:oracle:thin:@主机:端口:SID'但是'jdbc :oracle:thin:@HOST:PORT/SERVICE'用大写字母替换正确的值。请注意两个字符串之间的区别:在sid字符串中,sid的名称由a分隔:由前面的字符串分隔,在服务字符串中,名称由前面的字符串中的/分开 – miracle173
连接到与 “系统” 的用户数据库,并执行以下命令:
show parameter service_name
这里找到,没有DBA:Checking oracle sid and database name
select * from global_name;
非常感谢,这个由Oracle SQL Developer为我工作。 –
谢谢,在我的情况下,服务名称是“XE”。 –
使用SQL Developer,你也应该找到它无需编写任何查询。 右键单击您的Connection/Propriety。
您应该在左侧的名称下方看到“连接详细信息”,并且应该看起来像“Connectionname @ servicename”,或者在连接的详细信息的右侧。
不,它可能是SID或服务名称,你永远不知道...... – Betlista
Jakobsen:只需运行命令'Show parameter service_name' –
@GauravSoni AFAIK'show parameter'是一个SQL/Plus命令,我不确定SQL Developer是否支持SQL/Plus提示。如果没有,那么OP可以使用'select * from v $参数,其中名称'%service_name%''代替。 –
“显示参数service_name;”返回错误“显示参数查询失败”。 –