Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

जेबॉस के साथ DBMS_APPLICATION_INFO का उपयोग करना

हां, आप अपने कनेक्शन पूल के चारों ओर एक रैपर वर्ग लिख सकते हैं, और कनेक्शन के चारों ओर एक रैपर लिख सकते हैं, तो मान लें कि आपके पास है:

OracleConnection conn=connectionPool.getConnection("java:[email protected]");

इसे इसमें बदलें:

public class LoggingConnectionPool extends ConnectionPool{
    public OracleConnection getConnection(String datasourceName, String module, String action){
        OracleConnection conn=getConnection(datasourceName);
        CallableStatement call=conn.preparedCall("begin dbms_application_info.setModule(module_name => ?, action_name => ?); end;");
        try{
            call.setString(1,module);
            call.setString(2,action);
            call.execute();
        finally{
            call.close();
        }
        return new WrappedOracleConnection(conn);
    }

ऊपर WrappedOracleConnection के उपयोग पर ध्यान दें। आपको इसकी आवश्यकता है क्योंकि आपको निकट कॉल को फंसाने की आवश्यकता है

public class WrappedOracleConnection extends OracleConnection{
    public void close(){
        CallableStatement call=this.preparedCall("begin dbms_application_info.setModule(module_name => ?, action_name => ?); end;");
        try{
            call.setNull(1,Types.VARCHAR);
            call.setNull(2,Types.VARCHAR);
            call.execute();
        finally{
            call.close();
        }
    }

    // and you need to implement every other method
    //for example
    public CallableStatement prepareCall(String command){
        return super.prepareCall(command);
    }
    ...
}

उम्मीद है कि यह मदद करता है, मैं विकास सर्वर पर कुछ ऐसा ही करता हूं जो बंद नहीं हैं (पूल में वापस नहीं) कनेक्शन पकड़ने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle डेटाबेस बैकअप:बैकअप और बैकअप रणनीति का प्रकार

  2. मैं SQL डेवलपर में स्थानीय फ़ाइल कैसे पढ़ूं?

  3. Oracle सरणी के साथ स्प्रिंग StoredProcedure:ORA-01000:अधिकतम खुले कर्सर पार हो गए

  4. एक तिमाही में महीनों और समूह महीनों में विभाजन कैसे करें

  5. उपयोगकर्ता के रूप में कनेक्ट होने पर Oracle डेटाबेस में dba_users जानकारी एकत्र करें