如何使我的Java应用程序在连接时向Oracle标识自己?

当我的应用程序连接到Oracle数据库时,我希望能够通过查看数据库中与之连接的活动会话来查看.目前它将自己标识为“JDBC瘦客户端”,因为这是我正在使用的驱动程序,但我拥有的其他基于Java的应用程序能够以某种方式将此值设置为更有意义的值,如“SQL Developer”.我认为它是Connection或OracleDataSource的一个属性,但我没有设法找到一个可以解决问题的方法.这可能吗?如果它很重要,我使用Java 1.5,使用Oracle 10g和10g瘦驱动程序.

java.util.Properties props = new java.util.Properties();
props.setProperty("password","mypassword");
props.setProperty("user","myusername");
props.put("v$session.osuser", System.getProperty("user.name").toString());
props.put("v$session.machine", InetAddress.getLocalHost().getCanonicalHostName());
props.put("v$session.program", "My Program Name");
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
Connection conn=
    DriverManager.getConnection("jdbc:oracle:thin:@myhostname:1521:mysid", props);
SQL>select username,osuser,program,machine
from v$session
where username = 'ROB'; 

USERNAME  OSUSER       PROGRAM             MACHINE
--------- -----------  ------------------  -----------
ROB       rmerkw       My Program Name     machine

在应用程序级别,您可以使用以下方法在v $session中设置client_info,module和action:

dbms_application_info.set_client_info
dbms_application_info.set_module
dbms_application_info.set_action

翻译自:https://stackoverflow.com/questions/1548400/how-do-i-make-my-java-application-identify-itself-to-oracle-on-connection

原文 

https://codeday.me/bug/20190113/524988.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 如何使我的Java应用程序在连接时向Oracle标识自己?

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址