आप इस्तेमाल कर सकते हैं में पाया जा सकता
यह सेट इस तरह डेटाबेस से कनेक्ट करने के बाद ओरेकल Contexts:
SQL> CREATE OR REPLACE PACKAGE test_pkg AS
2 PROCEDURE set_context(p_attribute VARCHAR2, p_value VARCHAR2);
3 END test_pkg;
4/
Package created
SQL> CREATE OR REPLACE PACKAGE BODY test_pkg AS
2 PROCEDURE set_context(p_attribute VARCHAR2, p_value VARCHAR2) IS
3 BEGIN
4 dbms_session.set_context('test_ctx', p_attribute, p_value);
5 END;
6 END test_pkg;
7/
Package body created
SQL> create context test_ctx using test_pkg;
Context created
SQL> exec test_pkg.set_context ('user_id', 'Vincent');
PL/SQL procedure successfully completed
SQL> select sys_context('test_ctx', 'user_id') from dual;
SYS_CONTEXT('TEST_CTX','USER_I
--------------------------------------------------------------------------------
Vincent
स्रोत
2009-12-10 13:08:25
एक अच्छा समाधान लगता है। क्या यह पैकेज वैरिएबल अन्य कनेक्शन के बीच साझा किया गया है? –
नहीं, यह कनेक्शन के लिए अद्वितीय है। कनेक्शन पूलिंग अनुपयोगी होगी यदि अलग-अलग अंत उपयोगकर्ता एक ही डेटाबेस स्थिति साझा कर रहे थे! –
बस स्पष्ट करने के लिए, यदि 10 डेटाबेस सत्र हैं, तो अधिकतम 10 समवर्ती डेटाबेस राज्य हैं, भले ही आपके पास 50 एप्लिकेशन अंतिम उपयोगकर्ता हों। कनेक्शन डेटाबेस का बिंदु उन डेटाबेस सत्रों को साझा करना है। आवेदन लेनदेन की अवधि के लिए एक कनेक्शन/सत्र ले जाएगा। यह उसी आवेदन अंत उपयोगकर्ता द्वारा बाद के लेनदेन के लिए एक ही कनेक्शन का उपयोग नहीं करेगा। –