内容简介:当我的应用程序连接到Oracle数据库时,我希望能够通过查看数据库中与之连接的活动会话来查看.目前它将自己标识为“JDBC瘦客户端”,因为这是我正在使用的驱动程序,但我拥有的其他基于Java的应用程序能够以某种方式将此值设置为更有意义的值,如“SQL Developer”.我认为它是Connection或OracleDataSource的一个属性,但我没有设法找到一个可以解决问题的方法.这可能吗?如果它很重要,我使用Java 1.5,使用Oracle 10g和10g瘦驱动程序.翻译自:https://sta
当我的应用程序连接到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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 国际化语种名称的标识
- Azure资源托管标识浅析和实践
- 异构身份联盟统一身份标识模型研究
- 为企业实力代言!新华三获OpenStackCompatible标识
- 基于Azure资源托管标识来访问KeyVault
- CMDB_唯一标识+面向对象版本区别+importlib 反射代码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。