Different database connection or proxy user change

Hi forms guys,
in everyday life I am fulltime DBA, so please forgive my spare forms word pool.
Our users open a forms application that displays a menu with forms applications the user has access to. Users can then click on the menu items and another form pops up. Now having reviewed the code, I can say that the opening of the new forms is done by calling the builtin OPEN_FORM. As parameter "SESSION_MODE" for this function, "SESSION" is supplied. If I understand correctly, this means that another session using THE SAME username/password/connectionstring is created (for the purpose of parallel transactions in parent and child form).
At the moment each and every user (~400) has it's own database account which has roles (depending on the applications they are granted access to) assigned and also sometimes owns dblinks and synonyms. We want to get rid of them by storing the credentials in OID and just create ONE single application user for every application we host. This user shall contain all nescessary objects such as dblinks and private synonyms.
The enduser then logs in using the proxy mechanism. For example if user XYZ (defined in OID) wants to start application ABC, then he/she connects like XYZ[ABC_APPUSER]/XYZPASSWD. This must occur when the form opens, directly after the OPEN_FORM call.
Now my question: Is this possible somehow? Is there a way to have different database connections within a single forms window, if there are different forms? Or is it possible to make a switch to another proxy user within forms? e.g. JDBC has the ability to quickly switch to an other proxy user, without having to re-establish the whole session.
All I have read so far tells me, that it is not possible. But I would really like to hear that acknowledged by experts. Also other, perhaps better ideas for our intention are welcome.
Kindest regards
Matschbirne

Not really sure how to answer your question other than to say that from within your form's pl/sql you can connect and disconnect as often as you like programatically. However, you can only have one connection at a time (as far as I know). So if you connect as SCOTT and later want to do a login as FRED, you can do so, but SCOTT will no longer be connected.
Forms does support using Oracle SSO, but for the most part cannot directly access OID. Also, the db login information needed by Forms (when using SSO) is stored in a RAD (Remote Access Descriptor) in OID. The RAD behavior is unique to Forms and Reports. For each SSO user there is a related RAD. At the moment, there is no provided way to have RAD groups (e.g. Admin, Sales, Guests, etc). So each user get their own RAD.
If you are using Forms 11.1.x, Forms now supports db proxy users.
More information about SSO and Proxy users with Forms can be found in the Forms Deployment Guide:
http://docs.oracle.com/cd/E24269_01/doc.11120/e24477/sso.htm
In the code, you can control the connection using the LOGON, LOGOUT, and LOGON_SCREEN built-ins. Refer to the Forms Builder online help for details on how to use these.

Similar Messages

  • How to host one application using different database connection on OAS?

    Hi,
    Jdeveloper - 10.1.3.4
    Application - ADF/BC
    Oracle Application Server - 10.1.3
    Above our the specifications for our application,
    We have two database schemas different for development and production therfore we have different databse connections for the two,
    we have one application which is in production and enhacements on the same application are done by the development team.
    Since we have two different schemas for developement and prduction we use different database connections for the application on development and production.
    The problem is our Model and View Controller project are same, only the database connection file changes that's why we are able to host only on application at a time on our OAS. This is probably because the URL generated by OAS for developemnt and prodyction application is same.
    Is there a way we can host two instances of the same application with two different database connections on the a single OAS.
    Thanks & Regards,
    Raksha

    Use different deployment profiles each with a different context root for your application?
    See: http://one-size-doesnt-fit-all.blogspot.com/2009/02/configuring-separate-dev-test-prod-urls.html

  • Different database connections at runtime

    How can I change different database connections at runtime on the same Application Module ?
    I use BC4J as business layer and uiXml as presentation layer.

    Does anyone know how to do this?
    I need the same, but i couldn't find any documentation about it.
    Looking forward to hearing good news.....

  • How to add two different database connections on Model

    Hi,
    In my application, I need to create View Objects on different databases. So I need to add two different database connections on the Model.
    But it seems like Model can be connected to only one database. I tried adding another project to add the second db connection. But after I created a read-only View Object in the second project, it didn't generate corresponding data control in the Data Controls panel.
    Could anyone help me on this?
    Thanks!

    Do you mean adding the second project folder in ViewController->Project Properties->Libraries and Classpath?Yes, either that or: ViewController -> Project Properties -> Dependencies
    And I didn't see the first Model project in the ViewController classpath. Otherwise it wouldn't work. The first model project IS in 'classpath'. Here's how:
    ViewController -> Project Properties -> Dependencies
    I tried this and recreated the View Object. Still didn't generate the datacontrol. No idea why you had to recreate the VO.
    Is your VO in an application module inside the SECOND project?
    After you are sure that everything is in the ViewController's classpath, just try restarting JDeveloper.
    This is very basic. has to work.

  • Different database connections

    Hi,
    I have a problem in an application with two different database connections.
    I divided it into three projects one is the model project for a mysql database, one I the model project for an mssql database and one is a jsf project.
    But I only can use the first database project I add to the jsf project.
    If I use the other SessionFacade he uses the wrong database driver.
    My question is, is it possible to access two different databases out of one project?
    Thanks,
    John

    Does anyone know how to do this?
    I need the same, but i couldn't find any documentation about it.
    Looking forward to hearing good news.....

  • Date dimension fragmentation from 2 different database connections

    Hi Everyone,
    In obiee 10g, is it possible to implement fragmentation on a date dimension from 2 different physical database connections (not schemas)?
    For example:
    Physical connection & dimension 1: physical1.obiee_rpd.w_mcal_day_d.date
    physical connection & dimension 2: physical2.obia_rpd.w_mcal_day_d.date
    the fact table will be: physical1.obiee_rpd.w_fact_f.fact
    The 2 physical dimension tables will be joined to the 1 fact table in the physical layer.
    I then create a BMM with 2 LTS : physical1.obiee_rpd.w_mcal_day_d and physical2.obia_rpd.w_mcal_day_d.
    I then create 1 logical column in that BMM which sources both physical1.obiee_rpd.w_mcal_day_d.date and physical2.obia_rpd.w_mcal_day_d.date.
    Then, i set up fragmentation to use physical1.obiee_rpd.w_mcal_day_d.date when physical1.obiee_rpd.w_mcal_day_d.date < '04/30/2012' and use physical2.obiee_rpd.w_mcal_day_d.date when physical1.obiee_rpd.w_mcal_day_d.date >= '05/01/2012'.
    The problem is that the query that answers generates always uses physical1.obieerpd.w_mcal_day_d.date , regardless of the date filter applied!_
    Any tips?
    Thanks!

    Hy,
    Can you try the following.
    Define:
    - one logical date dimension with two logical table sources (physical1.obiee_rpd.w_mcal_day_d.date and physical2.obia_rpd.w_mcal_day_d.date)
    - one logical fact table with two Logical Table Source (LTS). And in each LTS, define the same logical level in the content tab and don't forget to check the checkbox "This source should be combined with other sources at this level".
    Cheers
    Nico
    Edited by: gerardnico on Jun 25, 2012 4:23 PM Date and not datum (Dutch)

  • REMOTE SERVER  MYSQL  DATABASE  CONNECTION THROUGH PROXY SERVER

    I want to connect to remote server through my proxy server, I have done all required parameter but the Exception is comming as follows :-
    Exception while connecting to database: java.sql.SQLException: Unable to connect to any hosts due to exception:java.net.ConnectException: Connection refused: connect
    Please help

    To clarify, if it helps, I have a database of event dates and and details which I wish to query in order to show the most imminent event on one page, and to display all forthcoming events on another.
    I would be happy to delve into whatever package is required to achieve this, but would prefer not to go down a whole set of blind alleys to get where I am going.
    If the recommendation is to find and install the original extensions, then great, but I don't have them in my Dreamweaver CC package. If there is a better, more up to date option then great; I am guessing/hoping that Adobe would not have taken one method away if there wasn't a better alternative.
    A push in the right direction would be most appreciated.

  • BC4J: database connection data - how to change it

    We have created a project with too may BC4J objects. The connection information is stored in diferent configuration files (*.jpx, *.xml, *.xcfg).
    That information sure will have to change during the development process and in the deployment phase. I would like to know if there is any other way to store that information in a more compact mode or how to change it dinamycally.
    Thanks

    Javier,
    We have the same problem. The future is likely to have
    20+ packages with separate projects and module.xcfg files.
    Presently we're deploying 4 modules with 6 AMs.
    This is what we did:
    - All desktops are configured exactly alike!!! No exceptions.
    We use the same name for the development DB connection (Jdev conn)
    and have a std naming convention for OSCM work areas and
    Jdev project.jpr and .jps's etc.
    - We use datasource DB connection description. Search this
    forum for data-source.xml or datasource and look for my
    posts (Curt Smith). I posted a definative explanation of the
    ins and outs.
    - This allows everyone to checkout from the src control the .jpr, .xcfg etc
    and the db connection name is the same and itall_works_.
    In development anyway. ;(
    - Another rule, NO changing the AM params via AM-right click-Configuration.
    This keeps the AM parameterization out of the module.xcfg. This is
    a very important rule for your production env.
    The production environment does:
    - AM params are configured on the cmd line for ALL AM's.
    -Djbo.this.that=somevalue.
    If you're interested in my tuning and Solaris startup script
    email me: [email protected]
    - The J2EE appserver's[i]Long postings are being truncated to ~1 kB at this time.

  • Airport connection lost with user change

    hi guys,
    finally got my airport extreme (n) to work
    only problem i have now is that every time i switch between users it loses connection and i need to reselect network.
    with my old airport i was able to keep multiple users open and connected at all times.
    can anyone please assist me to achieve this again?
    thanks,
    julie
      Mac OS X (10.4.9)  

    GV126c4, Welcome to the discussion area!
    Open System Preferences->Network preference pane->AirPort. Click on the Options button. Disable the option to "Disconnect from wireless networks when I log out".

  • Proxy User - Forms 11.1.2 and Oracle Database (version 10.1.0.5) ??

    Hi,
    we are migrating from Forms 6i to 11.1.2. Our database version is very old (Enterprise Edition, version 10.1.0.5) because this is the latest version of the DB that Forms 6i runs, and we will migrating to 11g in phases. So 6i and 11g will co-exists for a while (accesing the same DB).
    I am trying to use proxy users feature to login to database.
    So I did this:
    - I created a user PROXY_USR to be the proxy user:
    SQL> create user PROXY_USR identified by PROXY_PASW;*
    - I grant create session for the user:
    SQL> grant create session to PROXY_USR;*
    - I changed the application users (eg APPUSER01), to connect via proxy user:
    SQL> alter user APPUSER01 grant connect through PROXY_USR;*
    The comand in Forms module to login is:
    +LOGON('PROXY_USR[APPUSER01]','PROXY_PASW@DB01');+*
    The logon built is being performed and the connection being made, without erros.
    But when I verify in what user the application is logged on, the result is not
    what was expected:
    I did the follwing PL/SQL inside Form module:
    begin*
    select user into v_user_DB from dual;*
    MESSAGE('User Connected: '||v_user_DB,ACKNOWLEDGE);*
    exception*
    when others then*
    MESSAGE('ERR: '||SQLERRM,ACKNOWLEDGE);*
    end;*
    The result from this select, is PROXY_USR and not APPUSER01 (that would be the correct):
    *>>Result: "User Connected: PROXY_USR"*
    Some more commands that were also performed inside Forms module:
    begin+
    select sys_context('userenv','current_user') v_current_usr from dual+
    MESSAGE('Current User: '||v_current_usr,ACKNOWLEDGE);+
    exception+
    when others then+
    MESSAGE('ERR: '||SQLERRM,ACKNOWLEDGE);+
    *>>Result: "User Connected: PROXY_USR"*
    begin+
    select sys_context('userenv','proxy_user') v_proxy_user from dual;+
    MESSAGE('Current User: '||v_proxy_user,ACKNOWLEDGE);+
    exception+
    when others then+
    MESSAGE('ERR: '||SQLERRM,ACKNOWLEDGE);+
    *>>Result: "Proxy User: "*
    OBS: when a connect via SQL*Plus, in a 11g database (Express), and run the commands above, the results are OK. The
    APPUSER01 is returned.
    Any ideas ?? I will open a SR in Metalink, but I think they will first request a database upgrade,
    which is not feasible for us at the moment ...
    Thanks in Advance.
    Franco

    Unfortunately besides trying on a certified combination (maybe use the Developer Database VM and import the required schemas for trial) and going through the documentation at http://docs.oracle.com/cd/E24269_01/doc.11120/e24477/sso.htm I can't offer more. I don't have a 10gR1 database anymore and also I don't have OID to play with.
    cheers

  • Proxy functionality in the database connection pool

    Hi,
    I am scouring the internet and forums looking for a way to connect to my database from the .rpd connection pool using proxy authetication. NOT Act-As proxy that is a BIEE feature, but RDBMS proxy authentication with BIEE acting as the middle-tier connecting on behalf of many users and authenticating to the RDBMS AS THE INDIVIDUAL USER. I haven't had any luck, and am hoping someone here has set up this same kind of access.
    We have a requirement to use SSO with BIEE to integrate with our portal and discoverer apps. We also have a requirement to use EUS (Enterprise User Security). EUS allows you to login to the database using the userids/password from OID. Note that the database doesn't support the SSO token, but it uses the same userid/password stored in OID for authenticating to the database. You still must initiate a connection to the database, but the authentication goes to LDAP. Every connection to BIEE may be using a different userid - we will not have a shared login.
    So the issue I see is:
    - We configure SSO
    - In the BI Server the :USER session variable is set (but NOT :PASSWORD, since BI Server didn't authenticate you it doesn't have the password)
    - We create a connection pool - This is where we hit the issue - we need each connection to BI Server to connect down to the database as the SSO user. Since we aren't using a shared account we can't enter a userid/password in this connection. We also can't user :USER and :PASSWORD since SSO doesn't set the :PASSWORD session variable. What I would hope to find is a checkbox "Proxy Authentication" (around where "Shared Logon" checkbox is located) that would connect to the database as the proxy user and then switch to the SSO user.
    This is what happens with BI Publisher. On the JDBC connection screen there is a "Proxy Authentication" checkbox.
    So, has anyone already solved this problem? Thanks!

    Hello, is there anyone knows what this program does
    and how this program is executed? There is nodatabase
    mentioned.That's because it's expecting the URL (which contains
    the database type, hostname, and so on) to be passed
    in on the command line (argv[0]), as well as the
    username and password (argv[1] and argv[2]).
    Thank you very much for your help.
    Regards,
    Lucas

  • Programm change in Oracle ADF database connection

    Hello!
    Our company uses an application implemented in Oracle Forms. We have about 2500 users. Each user works with a database using Oracle c your login / password.
    We want to migrate to Oracle ADF. But the concept of Oracle ADF - under a single user connection.
    But the position of the database administrators - do not use OracleInternetDirectory (LDAP), does not create users in WebLogic. :(
    In our company, users are created in the database Oracle. Users are database role.
    Our idea is to send in an application ADF user name and password. Safety is solved at the database level.
    Can I do this:
    1. When the application starts to change the ADF database connection to a user username / password?
    2. Can there be problems in the future?
    3. Are there any examples?
    Please help
    Vasily (sorry for bad english)/
    Edited by: user10711272 on 16-Jan-2012 08:43

    Hi,
    You can create a custom authentication provider in WLS that uses a JAAS Login Module that attempts to connect to the database for authentication pupose. The application itself would run with a JDBC Data Source, so that you only use the database account to authenticate the user and get his/her database roles as authorization groups. I have a sample for this on my to-do list but so far hadn't the time to get to it. So yes, you don't need OID or LDAp to manage users but could keep going using the database
    Frank

  • FR Studio - Is there a workaround for the issue with referencing data from a grid with a different DB connection and different # of dimensions?

    Hi,
    I am trying to reference a column in a different grid with a different database connection. I did some research in the forums, and it seems like this is a known issue with FR Studio. The issue is that if the 2 different database connections have different # of dimensions, then the reference will throw an error.
    For example, what I'm trying to do is below:
    In grid2.column[A], I have the following formula:
    grid1.column[A]
    The result is an error.
    The ultimate goal is to have a basic variance formula in the grid between grid1 and grid2, which have different database connections with a different # of dimensions. Is there a workaround at all to this bug? The example of the basic formula is below:
    grid1.column[A] - grid2.column[A] 
    Any help is much appreciated!
    Thanks,
    Tiffany

    Thanks for the detailed response Mike.
    The issue with trying it in Grid1 vs Grid2 is that Grid1's DB connection has more dimensions than Grid2's DB connection. I can't change the DB connection to a database with more dimensions because you have to be able to map all dimensions from the existing DB connection  (Grid1) to the new DB connection (Grid2). This isn't possible, so instead I have to map Grid2 (less dimensions) to Grid1 (more dimensions). It just ignores the extra dimensions from Grid1. Does that make sense?
    Thanks again for your responses. It's very much appreciated.
    Tiffany

  • Can you find which user changed a table from redolog?

    Is it possible to find which database user that changed a tuple in a table from the redologs?
    Or is the only option to have activated some kind of auditing prior to the change?

    Here is what you can find using flashback transaction query.
    SYS@10G>desc flashback_transaction_query
    Name                                      Null?    Type
    XID                                                RAW(8)
    START_SCN                                          NUMBER
    START_TIMESTAMP                                    DATE
    COMMIT_SCN                                         NUMBER
    COMMIT_TIMESTAMP                                   DATE
    LOGON_USER                                         VARCHAR2(30)
    UNDO_CHANGE#                                       NUMBER
    OPERATION                                          VARCHAR2(32)
    TABLE_NAME                                         VARCHAR2(256)
    TABLE_OWNER                                        VARCHAR2(32)
    ROW_ID                                             VARCHAR2(19)
    UNDO_SQL                                           VARCHAR2(4000)You can see the LOGON_USER which helps if you are using different database accounts for your users. If you are using a single database user for your application you cannot see which specific application user made the change. You need auditing for that.

  • My problem in using weblogic Datasource and proxy user

    Hello
    I create a DataSource in Weblogic that connect to the database by a proxy user and I have a client application that use this DataSource and create a proxy session , I've written my client application (it's a stand alone client application) code below :
    public static void main(String [] args) {
    OracleConnection conn=null;
    javax.sql.DataSource ds=null;
    Hashtable env = new Hashtable();
    env.put( Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory" );
    env.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001");
    try{
    Context context=new InitialContext( env );
    ds=(javax.sql.DataSource) context.lookup ("OracleConnection2");
    conn=(OracleConnection) ds.getConnection();
    java.util.Properties prop = new java.util.Properties();
    prop.put(OracleConnection.PROXY_USER_NAME, "web_user1");
    prop.put(OracleConnection.PROXY_USER_PASSWORD,"web_user1");
    conn.openProxySession(OracleConnection.PROXYTYPE_USER_NAME, prop);
    if (conn.isClosed()){
    System.out.println("Connection closed");
    return;
    testJDBC(conn,true);
    for(int k=0;k<10;k++){
    testJDBC(conn,false);
    conn.close(OracleConnection.PROXY_SESSION);
    conn.close();
    }catch(Exception ex){
    ex.printStackTrace();
    It works but my problem is that in line "prop.put(OracleConnection.PROXY_USER_PASSWORD,"web_user1")" or line "prop.put(OracleConnection.PROXY_USER_NAME, "web_user1");"
    Let me to mention a scenario :
    *1- I type a wrong username or password in my client application and I run the client application it shows me this error : invalid username/password*
    *this error is acceptable*
    *2- then I correct the wrong username or password immediately and run the application again , it shows me this error (at line conn.openProxySession(OracleConnection.PROXYTYPE_USER_NAME, prop)) :*
    java.sql.SQLException: Closed Connection
         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
         at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection_1032_WLStub.openProxySession(Unknown Source)
         at weblogic.jdbc.rmi.SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection_1032_WLStub.openProxySession(Unknown Source)
         at oracle.HRFacadeClient.main(HRFacadeClient.java:38)
    *3- I run the application again (by correct username and password) but this time it shows me this error :*
    java.sql.SQLException: Unsupported feature
         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
         at weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection_1032_WLStub.openProxySession(Unknown Source)
         at weblogic.jdbc.rmi.SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection_1032_WLStub.openProxySession(Unknown Source)
         at oracle.HRFacadeClient.main(HRFacadeClient.java:38)
    *4 - if I repeat running the application for multi times every time it shows me the previous error*
    *5- I wait about one minute the problem solved and my application can create proxy session *
    the result is that if I wanna create proxy session by wrong username or password and I get "Invalid username/password" error message , then after correcting username or password I have to wait about one minute and then run the application again_
    Do you know how I can overcome this problem ?
    Thank you

    Hi Jamshid,
    There is same problem observed few days back with us, and we have used the below code, and it got solved. Actually there is a problem observed while using proxy connections on weblogic.
    if(conn instanceof weblogic.jdbc.extensions.WLConnection){
         weblogic.jdbc.extensions.WLConnection cn=(weblogic.jdbc.extensions.WLConnection)conn;
         cn.clearStatementCache();
    http://rocksolutions.wordpress.com/2010/06/04/connection-pool-issue-on-weblogic/
    Hope this helps.
    Thanks

Maybe you are looking for

  • F-53,f-58, f-48

    I have a vendor which has open items; this can be verified in FBL1N, however when I try to make a manual payment no open items appear in f-53, f-58, and when I try to clear open items using f-44 no open items appear in the transactions. I have verifi

  • Abap Routine for Date selection in Infopackage

    Hi I have to write an abap routine for date selections in the infopackage, There are two date begda and enda. Do i code for BEGDA and fill in the begin date using routine and use another routine to fill the ENDA. JPJP

  • Problem in Extended Idoc

    Hi All, I have Extended ORDERS05 for adding custom fields for inbound process, Steps i have fallowed to create Extend Idoc: 1,Created new segment with all Z-fields and released, 2,Created Extension Idoc with reference standard Idoc ORDER05, and added

  • I just bought the mac air 20 days ago could I still trade it in for the mac book pro?

    I bought the mac air 11 inch but im starting to want the mac book pro 13 inch I dont know why i didnt get the pro when it was the same as this computer I still want to trade would I be able to?

  • Basic viewer display blank document

    Hi , I am facing a issue in IPM 11.1.1.3, basic view display only blank document for all login but advance view display is ok. the problem seems to happen all of suddent and the IPM, IPM _diagnostic log shows +++++++++++++++++++++++++++++++++++++++++