我的Java EE应用程序指向一个未知的Oracle数据库,我需要从应用程序检查数据库主机名,SID,当前用户和连接端口。
我无法访问数据库连接详细信息,因为我的应用程序使用应用程序服务器(Weblogic 11g)提供的数据源,并且我无法访问其管理控制台。我有应用程序的源代码,我可以在服务器中部署和调试它的新版本。
如何从当前连接获取当前数据库用户,数据库主机和服务?
答案 0 :(得分:1)
您可以使用SYS_CONTEXT函数进行查询。
获取服务器的主机:
SELECT SYS_CONTEXT('USERENV','SERVER_HOST') FROM dual
获取当前架构:
SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA') FROM dual