FGAC Application context problem

I create a context name 'test_ctx' that I set using a procedure in a package. I plan to call this procedure in a middle tier. During testing, when I connect to the Db, it seems that the context has values in it even when I did not call the procedure. Even when I disconnected from the Db and then reconnected after a few minutes, it seems that the context is still set. There is no other application or user using this context. Can anyone tell me what is happening? Thanks.

Hi there
* An application context can be most easily understood as the root folder your application starts from, e.g.
You are running a Tomcat server on your local machine and have deployed 2 applications to there: myapp1.war and myapp2.war. Those 2 apps would be hosted at http://localhost/myapp1/ and http://localhost/myapp2/ respectively.
Another way of looking at it is that application contexts are used to separate different applications running on the same web server.
* servlet mapping is what you need to do in order to map requests to your servlet container to the actual servlets themselves.
e.g. a call to http://locahost/my_webapp/my_servlet might actually map to a servlet called MyFirstServlet which in turn is represented by your deployed MyFirstServlet.class
There is of course a lot more to both of these, I suggest you start with the tutorial on Servlet development here on the Sun site.
Cheers,
Martin (aka Karianna)
Edited by: karianna on Dec 10, 2007 8:16 AM

Similar Messages

  • Setting Application Context Attributes for Enterprise Users Based on Roles

    Hello,
    We have an Oracle 11g database with a table containing data from multiple sites (a SiteID field identifies the site for a record). Since application users can have access to different subsets of sites, we would like to use Oracle's Virtual Private Database feature to enforce row-level security on the table.
    I did a successful proof-of-concept with database users. I created a role for each site (example: USER_SITE_A, USER_SITE_B, ...), and then assigned the appropriate site roles to each database user. I then created a package (run via a logon trigger) which set application context attributes for each site. If the current database user has been assigned a role for a given site, then the corresponding attribute named "SITE_PRIVILEGE_SiteID" is set to 'Y'... otherwise, it is set to 'N'. Here is the code which worked to set application context attributes for database users:
    -- For each record in my RoleSitePrivileges table, set
    --   an attribute named 'SITE_PRIVILEGE_<SiteID>'.
    --   If the current user has been assigned a role matching
    --   the value in the 'RoleName' field, set the corresponding
    --   attribute to 'Y'... otherwise, set it to 'N'.
    FOR iPrivRec IN (SELECT RoleName, SiteID
                       FROM RoleSitePrivileges
                       ORDER BY SiteID)
       LOOP
          SELECT COUNT(*)
            INTO roleExists
            FROM dba_role_privs
            WHERE granted_role = UPPER(iPrivRec.RoleName)
              AND grantee = USER;
          IF roleExists > 0 THEN
             DBMS_SESSION.set_context(
                         namespace   => 'my_ctx',
                         attribute   => 'SITE_PRIVILEGE_' || iPrivRec.SiteID,
                         value       => 'Y');
          ELSE
             DBMS_SESSION.set_context(
                         namespace   => 'my_ctx',
                         attribute   => 'SITE_PRIVILEGE_' || iPrivRec.SiteID,
                         value       => 'N');
          END IF;
       END LOOP;To finish things off, I created a security policy function for the table which returns the following:
    RETURN 'SiteID IN (SELECT TO_NUMBER(SUBSTR(attribute, 15))
                         FROM session_context
                         WHERE attribute LIKE ''SITE_PRIVILEGE_%''
                            AND value = ''Y'')';This setup worked great for database users. I am now working to do a comparable proof-of-concept for enterprise users created in Oracle Internet Directory (OiD). I have Enterprise User Security (EUS) up and running with OiD, global roles created in the database, enterprise roles defined in EUS with global role assignments, and enterprise roles assigned to OiD users. The enterprise users are able to successfully login to the database, and I can see the appropriate global role assignments when I query the session_roles view.
    I tried using the same application context package, logon trigger, and security policy function with the enterprise users that I had used with the database users. Unfortunately, I found that the application context attributes are not being set correctly. As you can see from the code above, the applicaiton context package was referencing the dba_role_privs view. Apparently, although this view is populated for database users, it is not populated for enterprise users.
    I tried changing the application context package to use invoker's rights and to query the session_roles view instead of the dba_role_privs view. Although this package sets the attributes correctly when called manually, it does not work when called from the logon trigger. That was an oops on my part, as I didn't realize initially that a PL/SQL procedure cannot be called with invoker's rights from a trigger.
    So, I am now wondering, is there another view that I could use in code called from a logon trigger to access the roles assigned to the enterprise user ? If not, is there a better way for me to approach this problem? From a maintenance standpoint, I like the idea of controlling site access from the LDAP directory service via role assignments. But, I am open to other ideas as well.
    Thank you!

    Hello,
    We have an Oracle 11g database with a table containing data from multiple sites (a SiteID field identifies the site for a record). Since application users can have access to different subsets of sites, we would like to use Oracle's Virtual Private Database feature to enforce row-level security on the table.
    I did a successful proof-of-concept with database users. I created a role for each site (example: USER_SITE_A, USER_SITE_B, ...), and then assigned the appropriate site roles to each database user. I then created a package (run via a logon trigger) which set application context attributes for each site. If the current database user has been assigned a role for a given site, then the corresponding attribute named "SITE_PRIVILEGE_SiteID" is set to 'Y'... otherwise, it is set to 'N'. Here is the code which worked to set application context attributes for database users:
    -- For each record in my RoleSitePrivileges table, set
    --   an attribute named 'SITE_PRIVILEGE_<SiteID>'.
    --   If the current user has been assigned a role matching
    --   the value in the 'RoleName' field, set the corresponding
    --   attribute to 'Y'... otherwise, set it to 'N'.
    FOR iPrivRec IN (SELECT RoleName, SiteID
                       FROM RoleSitePrivileges
                       ORDER BY SiteID)
       LOOP
          SELECT COUNT(*)
            INTO roleExists
            FROM dba_role_privs
            WHERE granted_role = UPPER(iPrivRec.RoleName)
              AND grantee = USER;
          IF roleExists > 0 THEN
             DBMS_SESSION.set_context(
                         namespace   => 'my_ctx',
                         attribute   => 'SITE_PRIVILEGE_' || iPrivRec.SiteID,
                         value       => 'Y');
          ELSE
             DBMS_SESSION.set_context(
                         namespace   => 'my_ctx',
                         attribute   => 'SITE_PRIVILEGE_' || iPrivRec.SiteID,
                         value       => 'N');
          END IF;
       END LOOP;To finish things off, I created a security policy function for the table which returns the following:
    RETURN 'SiteID IN (SELECT TO_NUMBER(SUBSTR(attribute, 15))
                         FROM session_context
                         WHERE attribute LIKE ''SITE_PRIVILEGE_%''
                            AND value = ''Y'')';This setup worked great for database users. I am now working to do a comparable proof-of-concept for enterprise users created in Oracle Internet Directory (OiD). I have Enterprise User Security (EUS) up and running with OiD, global roles created in the database, enterprise roles defined in EUS with global role assignments, and enterprise roles assigned to OiD users. The enterprise users are able to successfully login to the database, and I can see the appropriate global role assignments when I query the session_roles view.
    I tried using the same application context package, logon trigger, and security policy function with the enterprise users that I had used with the database users. Unfortunately, I found that the application context attributes are not being set correctly. As you can see from the code above, the applicaiton context package was referencing the dba_role_privs view. Apparently, although this view is populated for database users, it is not populated for enterprise users.
    I tried changing the application context package to use invoker's rights and to query the session_roles view instead of the dba_role_privs view. Although this package sets the attributes correctly when called manually, it does not work when called from the logon trigger. That was an oops on my part, as I didn't realize initially that a PL/SQL procedure cannot be called with invoker's rights from a trigger.
    So, I am now wondering, is there another view that I could use in code called from a logon trigger to access the roles assigned to the enterprise user ? If not, is there a better way for me to approach this problem? From a maintenance standpoint, I like the idea of controlling site access from the LDAP directory service via role assignments. But, I am open to other ideas as well.
    Thank you!

  • Relative URLs and Application Context

    How do you handle rendering relative URLs so that:
    1. Your application is independent of the application context it's deployed to
    2. You don't end up with lots of ugly code in your views
    3. The solution will work on any J2EE server
    I have several approaches, but I can't find any "best practices" discussions on this subject so I thought I'd start one.

    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
    "> Home</a>
    My main problem with that is that it's ugly as sin.                                                                                                                                                                                                                                                                                                                                                                       

  • Application context in cluster (using EJB3.1)

    Hello there,
    i want to ask for recommendation. What is the best strategy for storing global application data in clustered enviroment with usage of EJB3. Imagine e.g. users and contact lists. There are browser clients (let's say they invoke EJB from typical servlet) using polling mechanism (it's HTTP, i dont know about solutions how to do effective server push) - so asking application server again and again for refreshing their contact list.
    I know that there is @Singleton beans and with this approach you are telling the server provider to take care about it. But im afraid with this approach it could be uneffective because nodes of cluster propably replicate those singletons or has to do some other expensive network operations. Or don't they?
    Is @Singleton effective for such case? Or any mechanism like JMS topic could help me update data on clusters? It would be really nice to have it in application context somehow effectively. What do you think about it? Thank you:-)

    ok, you suggested that contact list can (and maybe should) be placed within user session. It is true that contact list itself does not change much but what changes very frequently is who is currently online (users performing login and logout). So the main question leads to this problem. The stuff user's status could be linkend with contact list was just a idea, but it is not needed.
    So now the problem, information who is logged in and how to periodically with good performance in cluster enviroment retrieve such information (in context of getting whole contact list with corresponding actual statuses for one specified user). What solution would you choose from the beginning? Just please try describe two scenarios and invocations.
    1) user logs in
    2) periodicaly request for updating contact list
    E.g. (this is just showcase corresponding to previous posts)
    Data who is and who isn't logged in is stored in database (e.g. column STATUS).
    1) servlet invokes EJB login method. That puts message to JMS topic that user A just logged in, updates DB (changing status to online), than the method returns UserData retrieved from DB which will be stored within http session including contact list. The MDB (stored within EJB module?) in onMessage method recieves information that this user A just logged in, it will update http sessions (is it even possible to do somehow from ejb module?) of users which have user A in their contact lists - e.g. contact lists of user B, user C and user D.Maybe I did not state it explicitly in my previous post. But it is not possible for an MDB which receives a message asynchronously to access the HttpSession object. Besides which Session object are you going to update? As you rightly said, the new user who is online may be in the contact list of several other online users.
    It's not that this is not possible to achieve - you can store a handle to these session objects globally (possibly in a static Collection accessible to the MDB layer) and iterate through each session object, figure out if the contact list in the user session does contain the newly logged in user as a contact and update the status accordingly.
    But there is an easier option - you just maintain the list of active users in a cache. And everytime the user makes a request, check the contact list of the User (maintained in his session object) against this list of active users. For every user who is both in the contact list and active users list, you just update the status of the contact as active. Is that what you had asked initially :)? Only your last post made clear what you were trying to achieve.
    You would maintain the active list of users using a JMS Topic/MDB listener mechanism. Note you will have to propogate the log off/session invalidation too to remove users from the active list.
    2) periodical request will come on http session (it contains actual data because it is updated by MDB (if it is possible somehow) )Just use ajax to poll the server and then as mentioned above - for every request, check the contact list held in session against the active users list.
    cheers,
    ram.

  • Getting values from application context

    I want to set an input box with the value from the jsp getRemoteHost() in jsf page..
    In my page i have this
    <h:inputText value="#{sok.Searchstring}">...
    where the reference sok is a java bean
    public class sok
         private String Searchstring;
         public sok()
              // I want to set the Searchstring = getRemoteHost()
         public String getSearchstring()
            return this.sokVerdi;
        public void setSearchstring(String data)
            this.sokVerdi = data;
    }How can this be done? Should I avoid using http request.. couldn't I get it from the application context, and how do I do that?? I'am kinda empty on ideas to solve this very issue.

    I getting the getRemoteHost to work perfectly.. and as for getParameter() too.. but when I try doing getRemoteUser(), it gives me null.. I also did getRemoteUser() in the jsf file, and there I do get the right output..
    How come? Why do I not get the correct value from the java bean?
    public sok()
              ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
              HttpServletRequest httpServletRequest = (HttpServletRequest)externalContext.getRequest();
              sokVerdi = "h: " + httpServletRequest.getRemoteUser();
              //sokVerdi = "g: " + httpServletRequest.getParameter("fardin");
                   //sokVerdi = "g: " + httpServletRequest.getRemoteHost();
         }

  • Multiple values in 1 application context

    All, I'm trying to return multiple values from a query and store them in an application context.
    I have an employee that can be a part of multiple divisions. I already captured emp_id:
    dbms_session.set_context('COMPANY', 'emp_id', emp_id);
    but also want to capture division_id for the person. Most people will only have 1 division_id, but some will have multiple division_id's.
    What's the best way for me to capture multiple numeric values and store them in an application context like this.
    I'm trying to set up VPD policies and don't have to have to reissue a query every time I need to access the division_id.
    Thanks,
    Jon.

    One option would be to store a comma-delimited list of the division_ids in the context and then your VPD filter can use this and the TABLE function to limit the rows:
    sql>create or replace type NumberTable as table of number;
      2  /
    Type created.
    sql>create or replace function f_number_table(
      2    p_list       in  varchar2,
      3    p_delimiter  in  varchar2 default ',')
      4    return numbertable
      5  is
      6    v_string  long := p_list || p_delimiter;
      7    v_pos     pls_integer;
      8    v_data    numbertable := numbertable();
      9  begin
    10    loop
    11      v_pos := instr(v_string, p_delimiter);
    12      exit when (nvl(v_pos, 0) = 0);
    13      v_data.extend;
    14      v_data(v_data.count) := trim(substr(v_string, 1, v_pos - 1));
    15      v_string := substr(v_string, v_pos + 1);
    16    end loop;
    17    return (v_data);
    18  end f_number_table;
    19  /
    Function created.
    Then, in your VPD package:
    -- build a list of the division_ids by looping through a cursor
    -- set the context using this list of division_ids:
    dbms_session.set_context('company', 'div_id', '10,20');
    -- later, you would replace the literal value below with a call to sys_context to retrieve it
    sql>select empno, ename, deptno
      2    from emp
      3   where deptno in (select *
      4                      from table(f_number_table('10,20')));
        EMPNO ENAME         DEPTNO
         7782 CLARK             10
         7839 KING              10
         7934 MILLER            10
         7369 SMITH             20
         7876 ADAMS             20
         7902 FORD              20
         7788 SCOTT             20
         7566 JONES             20
    8 rows selected.

  • Application Context - VPD

    APEX: 2.0.0.00.49
    DB: 10R2
    I am using table based security. Upon login, I am setting a number of different context variables (e.g., sessionid, userid, name, etc). They are also being set in my application (F100_SESSIONID, F100_USERID, etc).
    Recently, our company decided to host another company's data. Not having EE, I decided to add a column to the appropriate tables and then create views accessible through the application. Each view would have a predicate:<BR>
    WHERE companycode = SYS_CONTEXT( 'PFS_CTX', 'COMPANYCODE' )<br>
    Now, after submit, (I haven't tested every single page), session state seems to be lost.<br>
    Debug info before Submit:<br>
    0.00: S H O W: application="100" page="26" workspace="" request="" session="12483598699829578467"
    0.00: ...Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en-us
    0.00: alter session set nls_language="AMERICAN"
    0.00: alter session set nls_territory="AMERICA"
    0.00: NLS: CSV charset=WE8MSWIN1252
    0.00: ...Setting NLS Decimal separator="."
    0.00: ...Setting NLS Group separator=","
    0.00: ...Setting NLS date format="DD-MON-RR"
    0.00: NLS: Language=en-us
    0.00: Application 100, Authentication: CUSTOM2, Page Template: 653625525474071
    0.02: ...Supplied session ID can be used
    0.02: ...Application session: 12483598699829578467, user=USER_PFS
    0.02: ...Determine if user PFS_ADMIN with SGID 635206529335328 can develop application 100 in workspace 635206529335328
    0.02: Fetch session state from database
    0.02: Fetch session header information
    0.02: ...fetch page attributes: f100, p26
    0.02: Branch point: BEFORE_HEADER
    0.03: Fetch application meta data
    0.03: Computation point: BEFORE_HEADER
    0.03: Processing point: BEFORE_HEADER
    0.03: Show page template header
    0.03: Computation point: AFTER_HEADER
    0.03: Processing point: AFTER_HEADER<br>
    The Select List I have renders correctly. The query behind the Select List is:<br>
    SELECT projectname, projectid
    FROM pnet_projects<br>
    The view text is:<br>
    SELECT projectid, projectname,...
    FROM vw_projects
    WHERE companycode = SYS_CONTEXT( 'PFS_CTX', 'COMPANYCODE' )<BR>
    After Submit, the Select List is empty and here is the Debug info:<br>
    0.00: A C C E P T: Request="SUBMIT"
    0.00: Fetch application info
    0.00: wwv_flow.g_flow_language_derived_from=FLOW_PRIMARY_LANGUAGE: wwv_flow.g_browser_language=en-us
    0.00: alter session set nls_language="AMERICAN"
    0.00: alter session set nls_territory="AMERICA"
    0.00: NLS: CSV charset=WE8MSWIN1252
    0.00: ...Setting NLS Decimal separator="."
    0.00: ...Setting NLS Group separator=","
    0.00: ...Setting NLS date format="DD-MON-RR"
    0.02: Fetch session state from database
    0.02: ...Check instance 12483598699829578467 owner
    0.02: ...Fetch iconbar, page, computation, process, ...
    0.02: Fetch session header information
    0.02: ...fetch page attributes: f100, p26
    0.02: ...Check security schemes
    0.02: Save form items and p_arg_values
    0.02: ...P26_PROJECTID session state saving same value: "NONE"
    0.02: ...P26_TIMEIN session state saving same value: ""
    0.03: ...P26_PERSONID session state saving same value: ""
    0.03: Processing point: ON_SUBMIT_BEFORE_COMPUTATION
    0.03: Branch point: BEFORE_COMPUTATION
    0.03: Computation point: AFTER_SUBMIT
    0.03: Perform Branching for Tab Requests
    0.03: Branch point: BEFORE_VALIDATION
    0.03: Perform validations:
    0.03: Display inline error messages that are a result of failed validations.
    0.03: S H O W: application="100" page="26" workspace="" request="" session="12483598699829578467"
    0.03: NLS: Language=en-us
    0.03: Application 100, Authentication: CUSTOM2, Page Template: 653625525474071
    0.05: ...Supplied session ID can be used
    0.05: ...Application session: 12483598699829578467, user=USER_PFS
    0.05: ...Determine if user PFS_ADMIN with SGID 635206529335328 can develop application 100 in workspace 635206529335328
    0.05: ...fetch page attributes: f100, p26
    0.05: Branch point: BEFORE_HEADER
    0.05: Fetch application meta data
    0.05: Computation point: BEFORE_HEADER
    0.05: Processing point: BEFORE_HEADER
    0.05: ......do not perform process because inline validation condition found.
    0.05: ...Recompute field lables for fields in error.
    0.05: Show page template header   
    0.05: Computation point: AFTER_HEADER
    0.05: Processing point: AFTER_HEADER<br>
    In the ACCEPT portion, there's a line "Fetch session state from database" which I am guessing gets the Application Context. There is no such line in the SHOW section.<br><br>
    I have used Branch to Page Identified by Item and a Branch to Page or URL. Same result.<br><br>
    Does anyone have a suggestion as to how I should proceed? Can I use APEX/Application Context in this manner?<br><br>
    chet

    FUNCTION login
      (p_username IN VARCHAR2,
       p_password IN VARCHAR2,
       p_systemcode IN VARCHAR2 DEFAULT 'PFS') RETURN NUMBER
    IS
      l_sessionid NUMBER(15);
      l_password PERSON_SYSTEMS_TAB.PASSWORD%TYPE;
      l_personsystemid PERSON_SYSTEMS_TAB.PERSONSYSTEMID%TYPE;
      l_personid PERSON_SYSTEMS_TAB.PERSONID%TYPE;
      l_passwordexpires PERSON_SYSTEMS_TAB.PASSWORD_EXPIRES%TYPE;
      l_accountlocked PERSON_SYSTEMS_TAB.ACCOUNTLOCKED%TYPE;  
      l_expiredate DATE;
      l_entityid ENTITY_TAB.ENTITYID%TYPE;
      l_companyname VARCHAR2(150);
      l_companycode VARCHAR2(30);
    BEGIN
      SELECT password, personsystemid, personid, password_expires, accountlocked, date_expired, companycode
      INTO l_password, l_personsystemid, l_personid, l_passwordexpires, l_accountlocked, l_expiredate, l_companycode
      FROM vw_person_systems
      WHERE systemcode = p_systemcode
        AND date_expired IS NULL
        AND UPPER( username ) = UPPER( p_username );
      IF l_password = p_common.hash(p_username, p_password) THEN --successful login
      --1 create session
      --2 set app context
      --3 return sessionid
        l_sessionid := create_session( l_personsystemid );
        l_companyname := p_common.get_company_name( l_personid ); 
        l_entityid := p_common.get_entityid( l_personid );
        p_ctx.set_sessionid( l_sessionid );        
        p_ctx.set_context( 'NAME', p_login.get_name( l_personid ) );
        p_ctx.set_context( 'PERSONSYSTEMID', l_personsystemid );
        p_ctx.set_context( 'PERSONID', l_personid );
        p_ctx.set_context( 'COMPANYID', SUBSTR( l_companyname, 1, INSTR( l_companyname, ':' ) - 1 ) );
        p_ctx.set_context( 'COMPANYNAME', SUBSTR( l_companyname, INSTR( l_companyname, ':' ) + 1, LENGTH( l_companyname ) ) );
        p_ctx.set_context( 'SESSIONID', l_sessionid );
        p_ctx.set_context( 'EMAILADDRESS', p_username );
        p_ctx.set_context( 'ENTITYID', l_entityid );
        p_ctx.set_context( 'COMPANYCODE', l_companycode );
      END IF;
      RETURN l_sessionid;
    EXCEPTION
      WHEN no_data_found THEN
        raise_application_error(-20002, 'invalid username');
    END login;<br>
    None of this code has changed in quite some time. The only thing that changed was the view reference from APEX. This seems to occur only when the page is submitted (with or without validations).

  • How to define JAXP Parsers and Transformer in a Web Application Context

    Hi
    I need to define JAXP Parsers and Transformer in a Web Application Context where I can deploy this application in any J2EE Application Server without modifying the server. That means that I can't set System properties or set the jaxp.properties file. I tried to use the META-INF/services/javax.xml.transform.TransformerFactory file but it didn't work.
    Any ideas?

    Hi
    I need to define JAXP Parsers and Transformer in a Web Application Context where I can deploy this application in any J2EE Application Server without modifying the server. That means that I can't set System properties or set the jaxp.properties file. I tried to use the META-INF/services/javax.xml.transform.TransformerFactory file but it didn't work.
    Any ideas?

  • Application Builder problem on one server but not another

    I am having an Application Builder problem. When I get into App Express and go inside the builder and try to edit a listed application, I get an “http 404 the page cannot be found. The page might have had its name changed or is temporarily unavailable” situation. I can get into SQL commands, utilities, and administrative activities. I can also run the application. Also, if I go onto a different server with App Express on it, I can get into the builder and edit applications with no trouble. Our DBA had the server in question rebooted a little over a week ago and that took care of the problem for a couple days. Any ideas? Is this an Express problem or a server problem? He had also tried restarting Express before he had the reboot done and that didn’t help.
    Thank you for any help.
    Cordially,
    Robert J. Smith

    I have messages from the Apache error log files from the dates I was getting the builder error. For future reference, I will post them below. The builder has been working fine lately.
    Robert Smith
    ** error log messages follow **
    [Mon Jul 16 07:25:12 2007] [error] [client 147.159.5.134] [ecid: 
    79143788610,1] File does not exist:
    /app/oracle/oraappsrv10g/forms/java/java/awt/KeyboardFocusManager.class
    [Mon Jul 16 07:25:12 2007] [error] [client 147.159.5.134] [ecid: 
    79143788611,1] File does not exist:
    /app/oracle/oraappsrv10g/forms/java/java/awt/event/MouseWheelListener.class
    [Mon Jul 16 07:25:13 2007] [error] [client 147.159.5.134] [ecid: 
    83438757083,1] File does not exist:
    /app/oracle/oraappsrv10g/forms/java/oracle/forms/registry/default.dat

  • JBO-33008 Error finding application context

    Can anyone explain what causes JBO-33008 or where I can find more information on the exception. I have been unable to find any documentation (even the help in JDev goes from 34001 to 55001). Any information would be greatly appreciated.
    Thanks in advance.
    Deb
    oracle.jbo.JboException: JBO-33008: Error finding application context
    at oracle.jbo.server.ContextMetaObjectManager.getCurrentApplicationMap(ContextMetaObjectManager.java:73)
    at oracle.jbo.server.ContextMetaObjectManager.findLoadedObject(ContextMetaObjectManager.java:55)
    at oracle.jbo.mom.DefinitionManager.getDynamicObjectsContainer(DefinitionManager.java:604)
    at oracle.jbo.mom.DefinitionObject.isDynamicDefinitionObject(DefinitionObject.java:141)
    at oracle.jbo.server.DefObject.isDynamic(DefObject.java:46)
    at oracle.jbo.server.ComponentDefImpl.unsetDefForComponent(ComponentDefImpl.java:200)
    at oracle.jbo.server.ComponentObjectImpl.setDef(ComponentObjectImpl.java:53)
    at oracle.jbo.server.ViewObjectImpl.setDef(ViewObjectImpl.java:498)
    at oracle.jbo.server.ApplicationModuleImpl.removeChild(ApplicationModuleImpl.java:649)
    at oracle.jbo.server.ComponentObjectImpl.remove(ComponentObjectImpl.java:225)
    at oracle.jbo.server.ViewObjectImpl.remove(ViewObjectImpl.j[i]Long postings are being truncated to ~1 kB at this time.

    Evidently the 'Search Forum' is not catching everything. I did find this discussion by scrolling through.
    JBO-33008 error finding application context

  • Application contexts in multi-user environments

    [Oracle9i Enterprise Edition Release 9.2.0.3.0]
    Hi,
    I'm experimenting with application contexts as a means of utilizing bind variables in variable WHERE clauses.
    In a multi-user environment where the database is accessed from an application using a single user id, are there any conflicts involved when the same procedure is accessed multiple times and the same context variable is set to different values by each call? In other words, can I assume that between the time the user_id of my_context is set and the query is executed in procedure call 1 that those values will be used and not be affected by other procedure calls also setting the user_id of my_context?
    Thanks,
    Ed Holloman
    ================================================
    create or replace context my_context using my_proc;
    ================================================
    In procedure call 1 to my_proc:
    ================================================
    my_query := 'SELECT * FROM my_table ' ||
    'WHERE user_id = sys_context(''my_context'',''user_id'')';
    dbms_session.set_context('my_context', 'user_id', '12345');
    OPEN my_refcursor FOR
    my_query;
    ================================================
    In procedure call 2 to my_proc:
    ================================================
    my_query := 'SELECT * FROM my_table ' ||
    'WHERE buyer_id = sys_context(''my_context'',''user_id'')';
    dbms_session.set_context('my_context', 'user_id', '45678');
    OPEN my_refcursor FOR
    my_query;
    ================================================
    etc.

    A quick little test shows John's statement in action:
    sql>create or replace procedure test_procedure
      2    (p_value in  pls_integer,
      3     p_rc    out sys_refcursor)
      4  is
      5  begin
      6    dbms_session.set_context('TEST_CONTEXT', 'VALUE', to_char(p_value));
      7    open p_rc for select sys_context('TEST_CONTEXT', 'VALUE') from dual;
      8  end;
      9  /
    Procedure created.
    sql>var rc1 refcursor
    sql>var rc2 refcursor
    sql>exec test_procedure(1, :rc1)
    PL/SQL procedure successfully completed.
    sql>exec test_procedure(2, :rc2)
    PL/SQL procedure successfully completed.
    sql>print rc2
    SYS_CONTEXT('TEST_CONTEXT','VALUE')
    2
    1 row selected.
    sql>print rc1
    SYS_CONTEXT('TEST_CONTEXT','VALUE')
    1
    1 row selected.Note the original value (1) has not been stomped on by the second execution even though we fetched this after that second execution and fetch sequence.

  • Different applications context in iStore

    Vi have implemented severel minisites in iStore and have a question regarding using different context for different minisites.
    Is it possible to configure the iStore in a way that different minisites can have different applications context?
    For instance:
    Insted of using common URL like
    http://server.domain.com/OA_HTML/ibeCZzpHome.jsp?a=b
    We wnat to use
    http://server.domain.com/OA_DOGS/ibeCZzpHome.jsp?a=b
    http://server.domain.com/OA_CATS/ibeCZzpHome.jsp?a=b
    So OA_DOGS always refer to a perticular miniSite (minisite=10020)
    and OA_CATS always refer to another miniSite (minisite=10021)
    Thanks Mayu

    you were not asking for a seperate ministed for different users instead ur asking for a different applications under one single domain.
    but we can have any number of minisites to address your need, just need to create them using iStore Admin responsibility, if you want to restrict some of the users to access to some of the minisites only then go for responsibility key / operating unit differentiation or see CRM Administration - Roles and Responsibilites to implement the requirement.
    there you can define 2 different responsibilities like IBE_CUSTOMER_DOGS who can only access the sites you allow him in iStore Admin, IBE_CUSTOMER_CATS allowed to see only minisites meant for CATS .
    thanks
    Praveen Reddy

  • Report Export - No data when query based on Application Context

    I updated my Query Region source to use a Global Application Context and now the Report Export (to .csv) download has no data. This appears to run the query again in under a different session_id perhaps(?)
    In a before header process I set the session_id to access a couple of date values set by the user via LOVs - the 'Search' button and an After Submit Process sets the context values which are accessed in the where clause, i.e
    where date_attribute between to_date( SYS_CONTEXT('MY_CTX', 'START_DATE'), 'dd-Mon-yyyy')
    and to_date( SYS_CONTEXT('MY_CTX', 'END_DATE'), 'dd-Mon-yyyy')
    If you know any solution or alternative approach I'd be very grateful for your tips. I like Apex because you can leverage core Oracle database technology but then in some case you do hit these little troubles!
    Thanks
    Craig

    Thanks for the link to the posts.
    I considered the Security Attribute but thought that was somewhat inappropriate for just the one page I am setting the context; I understand the Security Attribute function would set 'My_Ctx' values on all page requests.

  • ASP application has problems working with oracle database 8.1.7

    ASP application has problems working with oracle database 8.1.7 through both oracle ODBC driver and Microsoft ODBC driver
    We have an ASP application running on Windows 2000 server, and with 8.1.7 Net8Client and MDAC 2.6 SP1.
    The application worked fine with an Oracle 8.0.5 database.
    After upgrading oracle database to 8.1.7.0.0, our ASP application works fine except when updating the same data record more than once. The application is not saving our updates.
    We tested our application using Oracles ODBC driver v8.1.7.5.0
    and experienced more problems. We had problems just bring up our data entry pages. In either case, we are returned with some 505 errors in our browser, problems with the ASP pages and IIS, the page is not displaying.
    If anyone has some suggestions on how to fix my problem, please advise. Thanks in advance.

    thanks...i saw one article with this approach..but the document did not present the detailed process...do you have one? i am still searching for a good procedure to follow...since it is an old database and focusing/studying old versions like this is a pain in the a**... :(

  • Application context & Finegrain Security

    I tried to inplement security on table (row level) using application context & Fine grain. Policy predictate function for fine grain works fine. but when I tried to use application context & fine grain together it says no rows found all the time. So something going wrong in application context. if any body know this topic pls respond.
    null

    Actually, our aim is to change our client/server tech. to web enabled.
    According to my study in google and in oracle forums......
    Server1:
    OS: RHEL 5
    DB: oracle database 10g
    In this server what security softwares i have to install?
    What else i have to install in server1?
    Server2:
    OS: RHEL 5
    OAS: Oracle Application Server (which version to install?)
    In oracle application server what are all the components i have to select while installing
    In this server what security softwares i have to install?
    what else i have to install in server2?
    Do i need anyother server? if yes, what i should install in that server? what is for?
    thanks

Maybe you are looking for

  • My MAC does not find my iPhone when trying to sync

    I installed 'OS 10.10, yosemite, and when I plug my iPhone into the computer, it sees the phone, but after creating a new playlist on my mac, in iTunes, then try and syvc the two, the computer 'whirrs' for awhile and then comes back with the error me

  • Baffled by mini-DVI to HDMI problem

    My Macbook is plugged into a LG lcd TV through mini dvi to HDMI. The Mac screen appears on the TV but without any of the icons that are on my desktop and does not change when I play a DVD or bring up photos on the Macbook. The mouse appears, but only

  • Itunes isnt playing songs correctly?

    i just downloaded the newest version of itunes, but now itunes is messing up when it plays my songs. like, it will skip just like a scratched CD. it also seems like its playing faster. at first, it only happened every once in a while, but now, it hap

  • Premiere Pro CS4 / Probleme mit dem Arbeitsbereich / Export funktioniert nicht

    Ich möchte meine Sequenz einfach nur exportieren, damit man sie als Clip ansehen kann. Dazu aktiviere ich die Sequenz, gehe auf Datei -> Exportieren -> Media.... und dann passiert nichts. Außer dass der Arbeitsbereich 'deaktiviert', in den Hintergrun

  • Batch classification problem

    Dear Gurus, I have a stock of a material 100MT,with batch number a .i am using batch charcteristic values as b and c with classification for batch a.i am doing PGI for 10 MT.In MB51 if i am seeing the material doccument.I am seeing the despatched qty