Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在oracle数据源中填充v$会话属性时出现问题_Java_Spring_Jpa_Oracle11g_Tomcat6 - Fatal编程技术网

Java 在oracle数据源中填充v$会话属性时出现问题

Java 在oracle数据源中填充v$会话属性时出现问题,java,spring,jpa,oracle11g,tomcat6,Java,Spring,Jpa,Oracle11g,Tomcat6,我在oracle数据源ie中填充v$session属性时遇到了一个问题,启动tomcat服务器后,我的应用程序将使用连接,现在如果我使用下面的查询查询DB,我应该从DB中获得一行,目前我没有获得第一种方法的任何行,但第二种方法可以工作 select schemaname, osuser, machine, program from v$session where program = 'Test'; 下面是我正在使用的配置和工具,请提供任何帮助 谢谢 1.Tomcate 6.0.35.3

我在oracle数据源ie中填充v$session属性时遇到了一个问题,启动tomcat服务器后,我的应用程序将使用连接,现在如果我使用下面的查询查询DB,我应该从DB中获得一行,目前我没有获得第一种方法的任何行,但第二种方法可以工作

 select schemaname, osuser, machine, program
 from v$session
 where program = 'Test';
下面是我正在使用的配置和工具,请提供任何帮助

谢谢

1.Tomcate 6.0.35.3 
2.Oracle version :Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
3.Spring and JPA
方法1:-

server.xml:

                            <Resource 
                                            name="jdbc/oraclepool"
                                            auth="Container"
                                            factory="oracle.ucp.jdbc.PoolDataSourceImpl" 
                                            type="oracle.ucp.jdbc.PoolDataSource"
                                            description="main DB"
                                            connectionFactoryClassName="oracle.jdbc.pool.OracleDataSource"
                                            connectionPoolName="UCPPool"
                                            url="${db.url}"
                                            user="${db.username}"
                                            password="${db.password.encrypted}"
                                            initialPoolSize="3"
                                            minPoolSize="1" 
                                            maxPoolSize="5"
                                            maxIdleTime="${db.maxIdleTime}"
                                            inactiveConnectionTimeout="${db.inactiveConnectionTimeout}" 
                                            abandonedConnectionTimeout="${db.abandonedConnectionTimeout}"
                                            timeToLiveConnectionTimeout="${db.timeToLiveConnectionTimeout}"
                                            maxStatements="${db.maxOpenPreparedStatements}"
                                            timeoutCheckInterval="${db.timeoutCheckInterval}"
                                            connectionWaitTimeout="${db.connectionWaitTimeout}"
                                            sqlForValidateConnection="${db.validationQuery}" 
                                            connectionProperties="v$session.program=Test;"
                                            />
有人能告诉我第一种方法有什么问题吗


再次感谢。

您应该提及您面临的问题。你的解释不清楚。编辑问题,如果你需要更多信息,请告诉我,谢谢你的问题。你应该提到你面临的问题是什么。你的解释不清楚。编辑了问题,如果你需要更多信息,请告诉我,谢谢你的提问。
  select schemaname, osuser, machine, program
  from v$session
  where program = 'Test';

    Connection conn=null;
 // set connection properties
    Properties info = new java.util.Properties();
    info.put("v$session.program", "Test");
    // connect to database
    Context context = new InitialContext();
    PoolDataSourceImpl ds = (PoolDataSourceImpl)context.lookup("java:comp/env/jdbc/oraclepool");
    ((PoolDataSourceImpl)ds).setConnectionProperties(info); 
    conn = ds.getConnection();