Dynamic database connections at Runtime dbAdapter

Hi
I need to connect to a database defined a runtime in a BPEL process using the dbadapter. All the configuration parameters for making the connection are provided at runtime (connectionURL, User, Password) and i need a way to configure them in the dbAdapter make the connection and execute some SQLStatements.
Until now we were testing with some bpelx Properties changing dynamically the name of the jndi (jca.jndi) that works fine, but we cant define a datasource for every database. We also tried with another set of properties for setting the connection at runtime (jca.mcf.ConnectionString, jca.mcf.Password,jca.mcf.UserName) unsuccessfully.
Do you know a way to define connections parameters at runtime in dbAdapter? Is that possible with SOA version 11.1.1.6 ?
If this is not possible what alternative do you suggest for making dynamic connections to a database.?
Regards
Sergio

You can try using the function query-database and formulate the 4th parameter which is JDBC connect string at runtime.
oraext:query-database()
Returns a node-set by executing the sql-query against the specified database. The second parameter rowset indicates if the rows should be enclosed in a element. The third parameter row indicates if each row should be enclosed in a element. The fourth parameter datasource is either a JDBC connect string (jdbc:oracle:thin:USER-NAME/PASSWORD@HOST:PORT:SID) or a JNDI name for the database. Only Oracle Thin Driver is supported if JDBC connect string is used. Usage: oraext:query-database(sqlquery as string, rowset as boolean, row as boolean, datasource as string). Example: oraext:query-database('select last_name from employee where id=1234',false(),false(),'jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL'.
This does not require a database adapter .

Similar Messages

  • Set password for database connection at runtime

    Hi there,
    is it possible to set the password and/or the user for the database connection at runtime.
    The use case is to read the values from a file and decrypt them, and the to establish the conenction. So that i don't habe to redeploy everything if there is a change.
    Thanks in advance.

    How exactly do i set these values for the datasource?
    Edited by: Alex on 15.02.2012 09:50
    €: JDeveloper 11.1.1.5.0
    The use case is, that there is a file with an encrypted password. This should be decrypted and then be used for the connection. So when this encrypted passowrd changes, i don't want to edit and deploay the app once again. Instead the new encrypted password should be decrypted via code an then be used.
    Edited by: Alex on 15.02.2012 10:00

  • 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.....

  • ADF Database Connection at Runtime

    Hi,
    I have developed a ADF based Web Application, deploy the code into different appServers [connecting to Different Databases] but unable to connect to the Required Database at Runtime.
    I have the following in my dataSources.xml & web.xml which looks like this.
    dataSources.xml
    <managed-data-source connection-pool-name="AIAQueryConnectionPool" jndi-name="jdbc/AIAQueryDataSource" name="AIAQueryDataSource"/>
    <connection-pool name="AIAQueryConnectionPool">
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="aia" password="aia" url="jdbc:oracle:thin:@//occf09.techmahindra.com:1521/ftsit"/>
    </connection-pool>
    web.xml
    <resource-ref>
    <description>AIA data source connection for FastTelco</description>
    <res-ref-name>jdbc/AIAQueryDataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    deployed the web Application "TestTransaction" and created ConnectionPool & DataSources for this Application "TestTransaction"
    when i run the Application i am unable to connect to the required Database/(s)
    Is that correct what i was doing ?
    BUT If i have the entry of that specific Database in ./model/common/bc4j.xcfg file i am able to Connect to the Database
    and if i remove the entry from ./model/common/bc4j.xcfg file, I am unable to Connect to the Database.
    Why is it so ??
    Can anybody give me the process / code to Connect to the Database in web based ADF Application at Runtime.
    or
    Pick up the Database Configuration Values from a Properties file and establish a Database Connection ??
    thanks in Advance...
    regards,
    anvv sharma

    Hi,
    I got it working today and not yes'day to the modifications suggested by arun...the only difference being i have stop / start the Application then it started with the working what i have done yes'day
    also thanks for shay....... it was useful link
    regards,
    anvv sharma

  • Dynamic database connection using JNDI

    How to pass the userid and password in get the database connection in weblogic 8.1 app server?
    The following method throws exception while getting the database connection from oracle.
    DataSource.getConnection(String username,String password)
    Please advise if I need to use any other weblogic's method to get the dynamic connection. Every user of this application uses their own useid and password to connect to the database.
    Any help is appreciated.

    ANITA BERDIN wrote:
    Hi,
    I upgraded from WL8.1sp2 to sp4 and basically had to redo everything.
    But since my understanding is that all patches and fixes are already
    incorporated in this version, so I did not apply any patches. Now my
    application which was previously working is getting an error with my
    stateless session bean that I have not had before. This is the error
    I get: I wonder why I would get oracle.jdbc.driver.Accessor.isNull
    error now. Am I missing something in my install? Thanks for any help.
    at oracle.jdbc.driver.Accessor.isNull(I)ZAccessor.java:1682)
         at oracle.jdbc.driver.OracleStatement.wasNullValue()Z(OracleStatement.java:3026)
         at oracle.jdbc.driver.OracleResultSetImpl.wasNull()Z(OracleResultSetImpl.java:111)Hi. You should not have had to redo everything.... Yes, sp4 should contain
    most all of the patches you may have been running for sp2, except for any
    that you may have gotten fairly recently (found recently in sp2, but not
    fixed in time for sp4)...
    The exception above is an internal Oracle thin driver bug (it seems), so
    the difference between sp2 and sp4 may have to do with the version of Oracle's
    thin driver installed. If you want, you can try swapping out the sp4 version of
    the thin driver, and trying the one from sp2, or the latest from oracle etc.
    What is the full stacktrace of the exception? Is that it? No message?
    Joe
         at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.wasNull()Z(Unknown Source)
         at com.merial.wwppsv1.client.ejb.UserDetailListBean.getItems()Ljava.util.List;(UserDetailListBean.java:222)
         at com.merial.wwppsv1.client.ejb.UserDetailListBean_i8as44_ELOImpl.getItems()Ljava.util.List;(UserDetailListBean_i8as44_ELOImpl.java:99)
         at com.merial.wwppsv1.client.action.SearchMenu.execute(Lorg.apache.struts.action.ActionMapping;Lorg.apache.struts.action.ActionForm;Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.apache.struts.action.ActionForward;(SearchMenu.java:76)
         at org.apache.struts.action.RequestProcessor.processActionPerform(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;Lorg.apache.struts.action.Action;Lorg.apache.struts.action.ActionForm;Lorg.apache.struts.action.ActionMapping;)Lorg.apache.struts.action.ActionForward;(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doGet(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(ActionServlet.java:507)
         at javax.servlet.http.HttpServlet.service(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:1006)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet..ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.java:419)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(ServletStubImpl.java:315)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lang.Object;(WebAppServletContext.java:6718)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Optimized Method)
         at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Optimized Method)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(WebAppServletContext.java:3764)
         at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)V(ServletRequestImpl.java:2644)
         at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(Optimized Method)
         at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
         at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)

  • JPA using dynamic database connection

    Hello everybody.
    My current project requires JPA to use dynamic datasource connection. And I need to register the database connection implementation in JNDI. For the dynamic part, the idea is that if user A logs in, JPA should use A's id and pw to create a datasource connection. When user B logs in, JPA should use B's credentials to create a datasource connection instead. I poked around a bit in the forum and found out that DataNucleus supports Dynamic datasource for JPA.
    But, could any one tell me if JPA supports dynamic datasource connection out of the box? If it does, could you point me to some samples.
    Thanks!

    Hello,
    I am using an implementation of OpenJPA.
    I can now overwrite the database user id/password defined in a data source with Persistence.createEntityManagerFactory(name, props). However, the props (java.util.Map) needs openjpa.ConnectionUserName and openjpa.ConnectionPassword key/value pairs.
    My issue now is that the user authentication will be through LDAP, so I won't be able to know the password of any user ( therefore no value for openjpa.ConnectionPassword). I am wondering if there is any way that JPA can use LDAP for the data source authentication. I guess Datanucleus framework could probably do that, but is there any way other than using Datanucleus?
    Thank you.

  • Choose Database Connection at runtime?

    I have a few databases with the same structure but different content. In fact it are databases from the same application, but from different customers.
    But the choice of the database connection is part of the VC model.
    What will be the easiest way to use the same model with different databases?

    Hi
    I think that you should create seperate systems for each DB and then in your VC model use guard conditions to allow access to the specific data base.
    Jarrod Williams

  • Changing Database connection at runtime in CR2008

    Hi,
    I have a VS2008 application which is using CR2008 to generate pdf reports for the user. Problem is I am not able to change the database connection to any server other than the one that was used to create the report template.
    My environment has CR2008 SP2. I have tried reports with no paramter as well as the ones with parameters both dont seem to work.
    I have already tried a couple of things:
    a) report document refresh after loading it
    b) setting the database connection as
    this._crReport.DataSourceConnections[0].SetConnection(dbServerName, dbName, dbUserId, dbPwd);
    c) setting the database connection as
    tbls = this._crReport.Database.Tables;
                    bool test = false;
                    foreach (Table tbl in tbls)
                        tblLogonInfo = tbl.LogOnInfo;
                        tblLogonInfo.ConnectionInfo = connInfo;
                        tbl.ApplyLogOnInfo(tblLogonInfo);
                        test = tbl.TestConnectivity(); ** note this alwys return a true for the changed database server
    I have read a couple of thread but none has worked for me...Is this a known issue with CR2008?
    Thanks
    Kajal

    Hi Kajal,
    I am assuming that you are not changing the schema of the report at any point of time. I would suggest you to try pointing to the other database through designer to make sure that you can hit the database and the schema is correct. You can also create a udl file to check the database connectivity.
    Then just for testing purpose you can try the following code:
    ReportDocument reportDoc = new ReportDocument();
    reportDoc.Load("path of the report");
    reportDoc.SetDatbaseLocation("uid","pwd","Servername","tablename");
    reportDoc.SetParameterValues("Parameter-Name","values");
    CrystalReportViewer.ReportSoure=reportDoc;
    Does that help?
    Thanks.

  • Changing database connection at runtime

    Hi All,
    I have multiple screens based from different database instances. How can I make a single menu screen which will allow log in for another database connection? I tried using the LOGIN_SCREEN built in but it does not change the connection once you are already connected to one database.

    If you want to change connections, you first have to logout. Besides the logon_screen builtin does not change the connection, but it only sets several application properties.
    In the Forms Help there is an example how to use the logon_screen. It basically comes to the next pl/sql code:
    declare
    MyUsername VARCHAR2(40);
    MyPassword VARCHAR2(40);
    MyConnect VARCHAR2(40);
    begin
    logon_screen;
    MyUsername := Get_Application_Property(USERNAME);
    MyPassword := Get_Application_Property(PASSWORD);
    MyConnect := Get_Application_Property(CONNECT_STRING);
    logout;
    if MyConnect is not null then
    logon(MyUsername,MyPassword&#0124; &#0124;'@'&#0124; &#0124;MyConnect);
    else
    logon(MyUsername,MyPassword);
    end if;
    end;
    null

  • Creating dynamic database connection (SQL server 2008) from Adf application

    Hello,
    I am creating an ADF Fusion Application. I use Jdev. 11.1.2.3.0 , WebLogic 10.3 and MS SQL server 2008 database. My question is that how can I create a database connection configuration file, now I connect to the database through hard coding, there should be a way to do this with sql server I think.
    my database name is : testDatabase
    my database username is : testUser
    my database password is : testPassword
    Anybody can help me please.
    Thanks,
    Shahe

    Hello Frank,
    The database schema is the same for all the users, but the location of the database differs, for example: I have set the hostname of the database to localhost because the database is installed on the local pc, but to other clients the database is installed on a managed server so in the hostname I should put the server's ip address or name. So I need an external file where I can set these options.
    Thanks,
    Shahe

  • Allow users to change database connection at runtime

    Folks,
    CR 12.2.0.290
    BOE 12.1.0
    I develop CR on desktop and then save to the BOE repository.  Users need the ability to point the report to a different Oracle schema.  Tables and elements are the same, just the data is stored via streams so that each location has its own reporting schema.  So one (16 total) report needs to run against multiple schemas based on which origin the user is trying to report against; one at a time.  Other than having a set of reports for each site, how can I allow the users to select the schema to run against at runtime?
    Thanx
    Mike

    When you schedule a report with InfoView, there is a Database option where an ODBC connection, user and password can be specified.  Can this be used?  (I'm not familiar enough with Oracle to know for sure...  Also, this option doesn't show if the report uses Business Views.)
    HTH,
    Carl

  • Using predefined JDBC database connection in runtime for BC4J

    I've created an aplication using BC4J context, however I want to have several distinct users acessing this aplication, so I create the connection to the database using stantart JDBC 2.0, and now I want my application to use this connection instead of the one defined for BC4J.
    The database user owner of the objects must be locked.
    Is this possible?
    Many thanks.
    Nuno

    In Forms I used the following code to change the user at runtime. I created 3 char fields 'u','p' and 'c' for username, password and connect string respectively.
    declare
    uname varchar2(10);
    begin
    uname := get_application_property(username);
    -- To display your current username
    message(uname);
    pause;
    logout;
    logon(:u,:p&#0124; &#0124;'@'&#0124; &#0124;:c);
    end;
    Have a nice day,
    Abhijith Unnikannan,
    Oracle Support Services

  • Can I ? - XSQL dynamic database connection

    [raised this a couple of days ago on the 9iJDeveloper forum - but that's vanished]
    How do you write XSQL without knowledge of username and passwords.
    The physical user will be supplying their DbUser and DbPassword in a
    web login
    page and these are to be used throughout the web application.
    XSQL requires a connection alias. i.e. "demo"
    <page xmlns:xsql="urn:oracle-xsql" connection="demo" >
    <xsql:query max-rows="-1" null-indicator="no" row-element="USER"
    rowset-element="" tag-case="upper">
    select user from sys.dual
    </xsql:query>
    </page>
    But I need to set the username and password for "demo" in runtime.
    (Reason: Each database user has specific roles and limits on viewable
    information)
    Chris Wilson

    Not with the default implementation of oracle.xml.xsql.XSQLConnectionManager and oracle.xml.xsql.XSQLConnectionManagerFactory, however I've worked with customers who have written a custom XSQL Connection Manager to handle connections in any way that's appropriate for your application. Some have used Oracle8i OCI8 JDBC's proxy connection feature, others have implemented a custom strategy.
    The online documentation for XSQL (part of the doc for the XDK for Java on OTN that ships with the database documentation set) talks about the two interfaces above that your implementation must implement.

  • Configuring Database connection at runtime

    Hi,
    I am new to JDBC and urgently needs ur help.
    What I want is to provide the URL (Connection String and DB info) in a config file and read that in the code. Also I should be able to change the DB location and connection string at runtime so that the next time the code executes, it takes the new connection string. I heard something about MBeans, can anyone help me in this.
    Thanks in advance
    Pankaj
    PS: I might use JBoss or Tomcat.

    Thanks for the reply..
    Yes, but how to do it using MBean? Is Mbean the only solution available or there are some better approaches?
    regards
    Pankaj

  • SSIS - Make a "dynamic" database connection tutorial (step-by-step) ?

    I want to make one connection ONLY to loop over a list of servers. This connection should be able to connect to databases located on different servers ie different IP addresses. After connecting to a database, it should run some SQL code. The result set
    of this code should be transferred to a central database. After that, it should do the same for another server.
    Can someone give me a step by step tutorial to do this ? I want hand holding/spoon feeding tutorial because no tutorial on the net worked for me so far. 
    Tutorials i tried , but did not work -
    http://www.rafael-salas.com/2010/01/ssis-loop-through-multiple-database.html
    http://www.codeproject.com/Articles/14341/Using-the-Foreach-ADO-Enumerator-in-SSIS
    and many others which i cannot even remember. NONE of them are step by step. I have also not found a SINGLE book which covers this. All books only loop through files, but not through remote databases.
    I need your help.
    Thanks

    Please see if these help -
    http://www.sanssql.com/2011/08/looping-through-sql-servers-using-ssis.html
    https://www.simple-talk.com/sql/ssis/consolidating-sql-server-error-logs-from-multiple-instances-using-ssis/
    http://sql-ution.com/dba-repository-create-the-server-list/
    - Aalam | (Blog)
    1st one not good. Many steps are missing. Cannot understand than one. Will try the others also.

Maybe you are looking for