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.

Similar Messages

  • Is there a way to do that? To use dynamic EJB connections?

    Hello Developers,
    I have developed a security web application using EJB,
    Jaas with customer provider
    I used DBSystemLogin module
    I want to fined a way that the EJB connection change each time when the user login.
    I used the HR as the main schema.
    I created three schemas that I want to use them as users:
    -Lina
    -Salem
    -Ahmad
    I granted Roles to users on hr tables.
    additional, created my own roles in data base and granted to my users:
    ADMINISTRATOR  Lina - can see all records
    EMPLOYEE Ahmad -can see the records added by this employee
    CUSTOMER  Salem - can see the records belongs to this customer
    In developer 10.1.3.3
    I created Order Entity been using HR database connection, created session been,
    Modified web.xml:
    -security roles["ADMINISTRATOR","EMPLOYEE","CUSTOMER"])
    -Loginconfig (Form-based authentication: login page, error page)
    -Security constraints: ord on /faces/Orders.jsp to ADMINISTRATOR,EMPLOYEE,CUSTOMER.
    I created Orders.jsp page contains order table.
    Now, I want that when the user login as Lina to switch the EJB database connection to Lina, so the displayed order table achieves ADMINISTRATOR roles that created in database,means opening database session for user Lina and use it.
    and so on for user salem and ahmad.
    Is there a way to do that? To use dynamic EJB connections? To achieve authentication based connection? to implement the user database roles on the client side? To specify the database connection at run time?
    That is possible using forms but I don’t want to use forms.
    I want to reed the roles from database according to the user.
    I hope to get answers soon,
    thanks.

    Does JNDI do this job?

  • 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

  • When using the Database Connectivity Toolset, reads and writes with long binary fields are incompatible.

    I am trying to write LabVIEW Variants to long binary fields in a .mdb file using the Database Connectivity Toolset. I get errors when trying to convert the field back to a variant after reading it back from the database.
    I next tried flattening the variant before writing it and ultimately wound up doing the following experiments:
    1) If I use DB Tools Insert Data to write an ordinary string and read it back using a DB Tools Select Data, the string is converted from ASCII to Unicode.
    2) If I use DB Tools Create Parameterized Query to do an INSERT INTO or an UPDATE operation, specifying that the data is BINARY, then read it back using a DB Tools Select Data,
    the length of the string is prepended to the string itself as a big-endian four-byte integer.
    I can't think of any way to do a parameterized read, although the mechanism exists to return data via parameters.
    Presuming that this same problem affects Variants when they are written to the database and read back, I could see why I get an error. At least with flattened strings I have the option of discarding the length bytes from the beginning of the string.
    Am I missing something here?

    David,
    You've missed the point. When a data item is flattened to a string, the first four bytes of the string are expected to be the total length of the string in big-endian binary format. What is happening here is that preceding this four-byte length code is another copy of the same four bytes. If an ordinary string, "abcdefg" is used in place of the flattened data item, it will come back as <00><00><00><07>abcdefg. Here I've used to represent a byte in hexadecimal notation. This problem has nothing to do with flattening and unflattening data items. It has only to do with the data channel consisting of writing to and reading from the database.
    I am attaching three files that you can use to demonstrate the problem. The VI file c
    ontains an explanation of the problem and instructions for installing and operating the demonstration.
    Ron Martin
    Attachments:
    TestLongBinaryFields.vi ‏132 KB
    Sample.UDL ‏1 KB
    Sample.mdb ‏120 KB

  • How to use JDBC database connection in Solaris

    Hi all,
    I am new to Solaris and i want to create an application using JDBC database connection.
    I want a small piece of code, probably a login page code that verifies the username from a OpenOffice database (.odb) file. I am particular to know the driver name, etc. If possible give the code using JNDI loopkup.
    Thanks in advance,
    Parasou.

    Sure no problem.
    Please stand by while I do your work for you.

  • Can i use single database connection in a hole java application?

    can i use single database connection in a hole java application?.I have so many forms to use database connection.

    Theoretically you can. Not only theoretically. I've seen lots of application which only uses one database connection (they were using, oracle or mysql)
    The first reply given here assumed that the answer to
    your question depends only on the design of your
    application. That is not true.Yes it's true. Nothing in the original questions says that you aren't allowed to open or close the single connection that you have. It's looks more like the OP is interested in sharing a connection (i.e having a singleton or a connection pool with only one connection)
    It does also depend on the behaviour of the database
    in the background.
    Most databases have a time out for connections that
    are idle Not a problem. Most implementations of connection pools and applications which keeps a connection open have a timer which calls e.g. select * from dual (if you are using oracle) when the connection has been idle for X minutes.
    (some, like db2 on z/OS, even cancel
    connections, that are not idle, if they are open a
    certain amount of time or have reached a given limit
    of cpu seconds.)You would also have that problem if you had a connection pool with several connections.
    In essence: If you have no control over the time
    your application runs (and therefore your connection
    is open) or over type or the configuration of the
    database you are accessing, you can't do it.See above.
    The closest thing to what you want would be using
    PooledConnections, iif those are supported for the
    database you want to access.Not true.
    Kaj

  • How to store jpeg images in SQL server using NI database Connectivity Toolset. Can anyone please help me in this regard.

    Please tell how to store jpeg images in SQL Server using NI Database Connectivity Toolset.

    http://www.w3schools.com/sql/sql_datatypes.asp
    You setup a field as BLOB and store the binary of the picture there. Depending on the database it can be called differently as you can see in the link, in SQL server there's even a Image datatype.
    /Y
    LabVIEW 8.2 - 2014
    "Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
    G# - Free award winning reference based OOP for LV

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

  • Using DW database connections

    In an attempt to learn to not rely on DW to generate my code,
    I wrote a simple include file for when I want to connect to my
    database with PHP. But I see it is very similar to the
    "connections" file DW creates if you let it do it for you. The only
    drawback I see to writing it yourself, is it doesn't show up in the
    margin to see the tables etc. What is the best approach?

    Bloke wrote:
    > Well for example. I was able to create a simple query of
    my database and
    > display all the results in a dynamic table. I hand coded
    it and was 9 lines of
    > code.
    >
    > If I used Dreamweaver to connect and create the code for
    me it is 74 lines of
    > code.
    Hand-coding is definitely a lot shorter, particularly if you
    know what
    you're doing. The problem with Dreamweaver is that it needs
    to create
    code to cover a wide range of options, not all of which you
    might need.
    If you want the convenience of using the Bindings panel,
    you'll have to
    put up with the Dreamweaver code. If you want to learn how to
    be a
    serious PHP programmer, just work in Code view. The syntax
    coloring and
    2,600 code hints are a big productivity booster.
    If you decide to go down the hand-coding route, make sure
    that you
    understand the dangers of SQL injection, and take the
    appropriate
    precautions in your code.
    David Powers, Adobe Community Expert
    Author, "Foundation PHP for Dreamweaver 8" (friends of ED)
    Author, "PHP Solutions" (friends of ED)
    http://foundationphp.com/

  • I am using the database connectivity toolkit to retrieve data using a SQL query. The database has 1 million records, I am retrieving 4000 records from the database and the results are taking too long to get, is there any way of speeding it up?

    I am using the "fetch all" vi to do this, but it is retrieving one record at a time, (if you examine the block diagram) How can i retrieve all records in a faster more efficient manner?

    If this isn't faster than your previous method, then I think you found the wrong example. If you have the Database Connectivity Toolkit installed, then go to the LabVIEW Help menu and select "Find Examples". It defaults to searching for tasks, so open the "Communicating with External Applications" and "Databases" and open the Read All Data. The List Column names just gives the correct header to the resulting table and is a fast operation. That's not what you are supposed to be looking at ... it's the DBTools Select All Data subVI that is the important one. If you open it and look at its diagram, you'll see that it uses a completely different set of ADO methods and properties to retrieve all the data.

  • How to use same database connection..... for application forms.

    hello
    im creating an database application using java swing and mysql.... it an mdi application ..... i want to know that how use a single connection for all forms in the application.... any example... coz im new for the java swing and mysql application .... ill be thankful for reply and solution....

    Crost post:
    http://forum.java.sun.com/thread.jspa?threadID=785812&messageID=4466100#4466100

  • Problem in using javabean database connections file

    Hi..I have a javabean file which contains some database connections.I would like to use this file in another javabean file. However, I got this 'cannot resolve symbol' error on the following line.The two javabean files i have here are sqlBean and TransactInfoBean which are contained in the same package.
    <coding>
    public class TransactInfoBean extends sqlBean {
    </coding>

    Did you check the class path.
    The folder containg the package shold be set to classpath.
    If you send your total error messages , i can help you more.
    Regards

  • How to use the database connection bean??

    hi,
    i was created a database connection class. can teach me how to call the class at JSP.
    thanx...
    <jsp:useBean id ="dat" class ="Database" scope ="request"/>
         String sql = "INSERT INTO  table"
               "(standard,col )" +
               " VALUES " +
                                                "('a','kk')";
         public static Connection getConnection()
             throws ClassNotFoundException, SQLException
              // Load Sun's JDBC-ODBC Bridge
              Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
              // Make a connection to JDBC-ODBC Bridge drive with
              // the connection URL, jdbc:odbc:DSN
              String url =  "jdbc:odbc:miniproj";
              return(DriverManager.getConnection(url, "anonymous", "guest"));
         public static int executeUpdate(String nonSelectQuery)
             throws ClassNotFoundException, SQLException
              return(executeUpdate(getConnection(), nonSelectQuery));
         public static int executeUpdate(Connection conn, String nonSelectQuery)
             throws ClassNotFoundException, SQLException
              return(conn.createStatement().executeUpdate(nonSelectQuery));
         }

    NOTE that you should always have your classes inside packages. Some versions of Tomcat won't use them correctly otherwise.

  • How TO use configurable Database connection with ADF BC

    I have developed a simple JSF/ ADF BC web application that connects to a database and read/display data from the db tables. I have successfully deployed the application to Tomcat 5.5.17. However, now i need to change the database the application is connecting to. My question is How can I change the Database connection without having to change the application modules or rebuild the war file ??? In other words, is there a specific file (xml) where the database connection can be changed?

    If you set up the application with a data source (I am not sure if this is possible using another app server, I use OC4J), then you would just change it there. However if you created a database connection in the JDEV and pointed your data model to that, then you will have to change and rebuild.
    You might be able to edit the xml file that contains the setttings, I am not sure my CM guys dont allow this, all of our changes have to go through our code repository.

  • 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

Maybe you are looking for

  • Is it possible to do manaul posting from FI if the customer blocked

    Dear All, If the customer blocked in all the sales areas, is it possible to do manual posting from FI. Kindly clarify. Regards, Mullairaja

  • My iPhone ran out of power and now it won't be turned on

    Yesterday I got a "message" on my iPhone display which I had never seen before. The power was so low that it just showed a falshing bettery icon and a symbol that showed that I needed to connect it to a power source. I didn't have time to do this bef

  • Adding Text to a photo...Need help

    I'm new to Adobe Photoshop Elements 7. I'm following the instructions for adding text to a photo, but I can't see what I'm typing. I can see the cursur, but nothing else. I can see the text in the Layer, but not on the photo. Please help.

  • Modbus TCP with Beckhoff (Wago)

    Hi, I'm looking for examples/how to/lib/dll to build a communication to a Beckhoff BK9000(similar to Wago 750) which have a Ethernet - Modbus TCP Option. I'm able to write via LabVIEW-TCP-Functions but only once after powering on and the result/answe

  • Ho regarding authorization group...

    hi all...    i need to create authorization group for the report programs.....i tries in se54 but this is for only tables..how can we create the authorization group for the report programs....pls guided me in this