Whats is JDBC DataSource Factory ??

What is the biggest different between from JDBC DataSource and JDBC DataSource
Factory ??
It says that JDBC DataSource Factory enables the EJB to map a resource factory
reference in the EJB deployment descriptor. But can't I do the same thing to JDBC
DataSource ????

Did you target your datasource when you created it?
Did you look at the server output log to if that the connection pool and
data source had any errors in deploying to the target?
<Muthukumaran Shanmuga> wrote in message
news:[email protected]..
I defined a datasource for sybase named let us say "SDS".
I get error with my test program as follows.
javax.naming.NameNotFoundException: Unable to resolve 'SDS'. Resolved '';
remaining name 'SDS'
How do I troubleshoot this error?
Is there a way to list names of JNDI datasources for a WLS instance?
I am sure I created jdbc datasource "SDS" under base_domain via console
and tested the connection
My current test program code is as follows.
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
prop.put(Context.PROVIDER_URL,
"t3://localhost:7001");
System.out.println("DEBUG: create initialConext:start");
InitialContext ic = new InitialContext(prop);
System.out.println("DEBUG: create initialConext:end");
DataSource ds =null;
System.out.println("DEBUG: looking up datasource:start");
ds = (DataSource)ic.lookup("SDS");
System.out.println("DEBUG: looking up datasource:end");
System.out.println("DEBUG: get Connection:start");
Connection c = ds.getConnection();
System.out.println("DEBUG: get Connection:end");
}catch( Exception ex){
System.out.println(ex.toString());
Thanks

Similar Messages

  • What is the method of getUserName() for JDBC DataSource in JDeveloper 11g.

    Hi All,
    I am facing a issue about getUserName() Method.
    The below method
      getDBTransaction().getConnectionMetadata().getUserName()
    working fine for JDBC URL While the  same method not working for JDBC DataSource.
    So What is optional method for getUserName() for JDBC DataSource,  I need  JDBC DataSource because in Our Standalone weblogic server we using data source.
    Maroof

    Hi Vohar,
    JNDI is there then how we can get user name you have any idea?
    Our Connection.xml look like below
                                        user                              oraJDBC                              1500                              192.168.0.0                              user1                                       thin                 

  • Connecting locally with BC4J and JDBC DataSource

    I have a BC4J project/module which I'm using as the data access layer for a web application, and that is deployed in 'local' mode on the OC4J server. In the config for the BC4J Module, I'm using the 'JDBC DataSource' connection type. When I deploy to OC4J, the appropriate entries are made in data-sources.xml and things run fine.
    W/in JDev, however, I'd like to be able to use the BC4J Tester and/or some local java classes (ie, run with a main method, outside the context of OC4J) to do some testing as I develop, including accessing the DB via my BC4J module, with the JDBC DataSource connection type. Currently, in order to run outside of the context of OC4J, I need to modify my config to use a connection type of 'JDBC URL' in order to successfully connect via the tester or via a main method driven class. (But then must be sure to change it back to 'JDBC DataSource' prior to redeploying.) If don't do this, and instead try to use the DataSource connection type, I get the errors "oracle.jbo.JboException: JBO-27200: JNDI failure. Unable to lookup Data Source at context jdbc/ADD_OWNER_DEV2DS" and "javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial" (among others)
    It seems pretty clear that I need to somehow/somewhere specify the context factory or such when running in JDev vs under OC4J, or somehow point the IDE to the local OC4J instance as the source of the info, etc?
    When trying to connect from the development environment, I have a local OC4J instance up and running, and I have what I think is an appropriate entry in data-sources.xml (I've tried this in 4 locations - j2ee\home\config, multi\system\oc4j-config, system9.0.3.1035\oc4j-config and as a new Data Sources Descriptor in the project.)
    Is there a way to set things up such that I can use the 'JDBC DataSource' connection type regardless of whether I'm running inside or outside of OC4J?
    Thanks,
    Jim

    Jim,
    You need some jndi implementation to bind(define) the datasource that can be looked up at runtime. Unfortunately, currently the only jndi implementation available in which you can bind datasources comes from oc4j. So you have to run in oc4j for using the datasource as your connection type.
    Dhiraj

  • What XA JDBC driver should I use with Oracle 8i 8.1.6

    I need to use an XA JDBC driver for Oracle 8i 8.1.6. I am using the driver in
    a ConnectionPool in a TxDataSource for use by some entity beans using EJB 2.0.
    I'm running WebLogic Server 6.0 sp2, EJB 2.0, Java 2 SDK 1.3.1 Server VM, Solaris
    2.7, and Oracle 8i 8.1.6.
    I know of three different Oracle XA drivers: WebLogic jDriver for Oracle XA, Oracle
    OCI type 2 driver XA, and Oracle Thin tyoe 2 XA. Are there any other drivers
    that I can use for Oracle 8.1.6? Which driver and which version should I use?
    For example, can I use the Oracle 8.1.7 JDBC drivers with the Oracle 8.1.6 server,
    or would the Oracle 9i drivers work with the Oracle 8i server? Which drivers
    are faster, and which support more features? I assume that I should not use the
    type 4 driver since I am not using an applet, but I don't know if there are bugs
    in the OCI C library for Solaris or in the JDBC drivers that use it that prevent
    XA from woking. Which version of the Oracle C OCI library should I use if I use
    a type 2 driver?
    Thanks,
    Ross Goldberg

    Hi,
    I think you can't use the 8.1.6 thin driver for XA, you would have to
    use the OCI driver or 2PC-enable your datasource. AFAIK this has been
    changed for 8.1.7
    Check http://e-docs.bea.com/wls/docs61/////jta/thirdpartytx.html.
    Daniel
    -----Original Message-----
    From: Gene Chuang [mailto:[email protected]]
    Posted At: Thursday, August 30, 2001 2:04 AM
    Posted To: jdbc
    Conversation: What XA JDBC driver should I use with Oracle 8i 8.1.6
    Subject: Re: What XA JDBC driver should I use with Oracle 8i 8.1.6
    I've asked this question before. This is the reply from Joe
    Weinstein:
    For reliability and JDBC 2.0 compliance, I recommend the
    Oracle thin driver.
    If not that driver, you should verify that a type-2 driver
    actually does
    deliver better performance, but then I would not have a
    strong preference
    between their type-2 and ours. Theirs may be faster, and JDBC
    2.0 compliant.
    Both are succeptible to OCI bugs, some of which only they can
    fix, but we
    listen.
    Gene
    "Ross Goldberg" <[email protected]> wrote in message
    news:[email protected]...
    >
    I need to use an XA JDBC driver for Oracle 8i 8.1.6. I am using thedriver in
    a ConnectionPool in a TxDataSource for use by some entity beans usingEJB 2.0.
    I'm running WebLogic Server 6.0 sp2, EJB 2.0, Java 2 SDK 1.3.1 ServerVM, Solaris
    2.7, and Oracle 8i 8.1.6.
    I know of three different Oracle XA drivers: WebLogic jDriver forOracle XA, Oracle
    OCI type 2 driver XA, and Oracle Thin tyoe 2 XA. Are there any otherdrivers
    that I can use for Oracle 8.1.6? Which driver and which versionshould I use?
    For example, can I use the Oracle 8.1.7 JDBC drivers with the Oracle8.1.6 server,
    or would the Oracle 9i drivers work with the Oracle 8i server? Whichdrivers
    are faster, and which support more features? I assume that I shouldnot use the
    type 4 driver since I am not using an applet, but I don't know ifthere are bugs
    in the OCI C library for Solaris or in the JDBC drivers that use itthat prevent
    XA from woking. Which version of the Oracle C OCI library should Iuse if I use
    a type 2 driver?
    Thanks,
    Ross Goldberg

  • Error in creating JDBC datasource

    I would like to create a new JDBC datasource using WLST script.
    There are 2 problems with it:
    1. Running the script an error message will be displayed:
    Creating JDBCSystemResource with name DBonHelium5
    JDBCSystemResource with name 'DBonHelium5' has been created successfully.
    Problem invoking WLST - Traceback (innermost last):
    File "/opt/wls9/jdbc_data_source_creation.py", line 30, in ?
    AttributeError: addJndiName
    I don’t understand why it is wrong and how could I fix the bug...
    2. After running the script I looked at the current state on the console.
    The datasource has been created but the target isn’t set.
    Could you help me what’s wrong?
    Thanks in advice!
    Zsigmond
    The script:
    connect("xxx","xxx")
    edit()
    startEdit()
    # Change these names as necessary
    dsname="DBonHelium5"
    cd("Servers/AdminServer")
    #target=getMBean("Servers/AdminServer")
    target=cmo
    cd("../..")
    # start creation
    print 'Creating JDBCSystemResource with name '+dsname
    jdbcSR = create(dsname,"JDBCSystemResource")
    theJDBCResource = jdbcSR.getJDBCResource()
    theJDBCResource.setName("DBonHelium5")
    connectionPoolParams = theJDBCResource.getJDBCConnectionPoolParams()
    connectionPoolParams.setConnectionReserveTimeoutSeconds(25)
    connectionPoolParams.setMaxCapacity(100)
    connectionPoolParams.setTestTableName("SYSTABLES")
    dsParams = theJDBCResource.getJDBCDataSourceParams()
    <b>dsParams.addJndiName("DBonHelium5")</b>
    driverParams = theJDBCResource.getJDBCDriverParams()
    driverParams.setUrl("jdbc:bea:oracle://helium.lsy.bud.dlh.de:1521")
    driverParams.setDriverName("weblogic.jdbcx.oracle.OracleDataSource")
    driverParams.setPassword("LSY")
    driverProperties = driverParams.getProperties()
    proper = driverProperties.createProperty("user")
    proper.setValue("LSY")
    proper1 = driverProperties.createProperty("DatabaseName")
    proper1.setValue("dbc:bea:oracle://helium.lsy.bud.dlh.de:1521")
    <b>jdbcSR.addTarget(target)</b>
    try:
    save()
    activate(block="true")
    print "script returns SUCCESS"
    except:
    print "Error while trying to save and/or activate!!!"
    dumpStack()
    disconnect()
    exit()

    Hi Manfed,
    I've got exactly the same problem mit j2sdkee 1.3.1. Have yor resolved the problem in the meantime?
    If so, please post the solution. Thanks.
    Helmut

  • Maximum Number of JDBC Datasources

    Does anyone know if there is a limit or if there is a
    recommended max to the number of JDBC datasources that a standard
    version of CF8 can handle?
    We have approx. 500 on our server and occasionally the server
    restarts due to Out of Memory errors. This most recently happened
    when adding a new datasource through the CF Admin, which is what
    led me to asking this question.
    Thanks, Chris

    > Does anyone know if there is a limit or if there is a
    recommended max to the
    > number of JDBC datasources that a standard version of
    CF8 can handle?
    >
    > We have approx. 500 on our server and occasionally the
    server restarts due to
    > Out of Memory errors. This most recently happened when
    adding a new datasource
    > through the CF Admin, which is what led me to asking
    this question.
    A datasource is just a bunch of setting which get stuck in an
    XML file.
    THey don't have any RAM footprint in and of themselves.
    However, the more DSNs you have, it suggests the more DB
    traffic you have,
    and indeed probably more activity on the box.
    How much RAM have you got allocated to the JVM?
    Have you used FusionReactor or similar to monitor what's
    going on with the
    RAM the JVM has?
    Adam

  • How to create a JDBC datasource thru script/xml?

    Hello All,
    Is there any way to create a JDBC datasource using some script or xml file that
    can be deployed to WLS 7.x?
    This feature is required for our J2EE application installation program.
    rgds
    MS

    Hi
    See this thread for connecting SQL Server
    Re: what is the process to connect to database from webdynpro ?
    For Oracle
    try
    {DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@Oracle_server_ip:Oracle port:SID of the Database","user_name","password");
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("your query");
    }catch(Exception e){
    see this thread
    Webdynpro and Oracle
    Kind Regards
    Mukesh

  • JNDI lookup() for sql server jdbc datasource returns null

    Hi,
    I am trying to use a jdbc datasource in tomcat 5 to access a sql server 2000 database. I had many common problems and did found an answer to them in the forums but I'm having one last (I hope) problem. My program is also using a mySQL datasource and it works fine.
    The problem is that my lookup returns null. No exception, just null. It seems that many people had this problem but I didn't found any answer to it.
    This is the lookup code:
        Context ctx = new InitialContext();
        Context envCtx = (Context)ctx.lookup("java:comp/env");
        axaptaDS = (DataSource) envCtx.lookup("jdbc/axapta"); //returns null :(This my context.xml config:
    <ResourceParams name="jdbc/axapta">
        <parameter>
          <name>factory</name>
          <value>com.microsoft.jdbcx.sqlserver.SQLServerDataSourceFactory</value>
        </parameter>
        <parameter>
          <name>url</name>
          <value>jdbc:microsoft:sqlserver://hostname:1433</value>
        </parameter>
        <parameter>
          <name>password</name>
          <value>password</value>
        </parameter>
        <parameter>
          <name>maxActive</name>
          <value>4</value>
        </parameter>
        <parameter>
          <name>maxWait</name>
          <value>5000</value>
        </parameter>
        <parameter>
          <name>driverClassName</name>
          <value>com.microsoft.jdbcx.sqlserver.SQLServerDataSource</value>
        </parameter>
        <parameter>
          <name>username</name>
          <value>username</value>
        </parameter>
        <parameter>
          <name>maxIdle</name>
          <value>2</value>
        </parameter>
      </ResourceParams>And I also put these lines in my web.xml file:
    <resource-ref id="ResourceRef_1092254277306">
         <res-ref-name>jdbc/axapta</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
         <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>Thanks for helping!

    I finally found a remedy to this problem:
    specify this driver instead and remove the entry about the factory in the context's .xml file:
    com.microsoft.jdbc.sqlserver.SQLServerDriver

  • Manipulating JDBC Datasources from a java application or servlet

    How can i manipulate - add, delete, update - JDBC Datasources from a java applcation or servlet?

    Maybe we can help, if you explain a little more.
    What do you mean with:
    How can i manipulate - add, delete, update - JDBC
    Datasources from a java applcation or servlet?Do you want to
    * create databases
    * change a database's properties
    * create or change tables
    * create or change the rows in tables
    Each of these would be - more or less - possible, but on its own way.
    Or do you maybe want to configure ODBC Datasources (DSNs) for use with the JDBC-ODBC-Bridge?
    Thats all I can guess from what you told us. Tell more!

  • What is the datasource for 9.3.1? Does OLEDB supports ODBC

    Plz some one let me know
    what is the datasource for hyperion 9.3.1
    and does OLE DB supports ODBC
    In hyperion 11 the datasource is through ODBC.
    thanks

    Hi,
    The datasource in 9.3 / 11 is stored in the planning system database tables
    In 9.3 it is set up through the configuration utility, in 11 it is done directly through planning web.
    The datasource holds the connection details to the planning repositories and the essbase application.
    The datasource connects to the planning repository through JDBC and to essbase using a JAVA API.
    Ok?
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Deployment using JDBC DataSource instead of JDBC URL

    Hello,
    I've noticed some strange behaviour when deploying an ADF application (11g, latest release) to a WLS (integrated or stand-alone), when using JDBC DataSource as a connection type for the application module.
    Normally, when you create your Business Components, a Database Connection is added to the Application Resources panel, eg MyConnection. If you then set your AM to JDBC DataSource instead of JDBC URL, the default datasource would be jdbc/MyConnectionDS. To make the application use the DataSource defined on the WLS, I then uncheck "Auto Generate and Synchronize weblogic-jdbc.xml Descriptors during deployment" in the Application Properties > Deployment tab.
    So far so good: after deployment to the WLS, the application uses the DataSource defined on the WLS server (jdbc/MyConnectionDS). When changing it on the server to another database, the application indeed uses this other database. Also, the following is automatically added to the web.xml during deployment to .ear file:
      <resource-ref>
        <res-ref-name>jdbc/MyConnectionDS</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>Now the part that doens't make sense to me: if I delete the password in the Database Connection under Application Resources, I can still deploy the application, but the jdbc/MyConnectionDS on the WLS is not found anymore. While it is still there. I get the following error message:
    Unable to lookup Data Source at context java:comp/env/jdbc/MyConnectionDS
    oracle.jbo.DMLException: JBO-27200: JNDI failure. Unable to lookup Data Source at context java:comp/env/jdbc/MyConnectionDS
    I made the JDev connection (used at development) invalid, and the deployed application stops working (at runtime). While it should just be using the JDBC DataSource defined on the WLS, that is still there. The reason appears to be that when there is no password in the Database Connection in JDev, the entry in the web.xml (see above) is not made during deployment.
    I am doing something wrong? Or is this "expected" behaviour?
    The reason why it bothers me: I have made a reusable component (a Data Control, let's call it A) from a model project, by deploying it to a ADF library JAR. I've set the AM of this project to use a certain jdbc datasource, which will be defined on the WLS.
    When importing the library JAR of A inside another application (B), the connection of the A is added to B. But ofcourse, without the password for security reasons, so we're in the situation described above: When I deploy the new application B, the web.xml is not updated with the DataSource of A, and the application doens't work. And what I would like to avoid, is that whenever someone uses component A, that they have to update the connection details of component A in application B. Because when I fill in the password of application A's Database Connection in application B, all works well again.
    I hope this question makes sense. :-)
    Thanks in advance,
    Chris

    Arun and Krithika,
    Thanks for your replies. I have already done what both of you suggested:
    Chris Schryvers wrote:
    I then uncheck "Auto Generate and Synchronize weblogic-jdbc.xml Descriptors during deployment" in the Application Properties > Deployment tab.I can get it to work, both for deployment on the internal WLS as on a stand-alone WLS.
    My only question is: why does a property at development time (the empty password of the JDev connection) influence the runtime behaviour (the JDBC DataSource not being found after deployment).
    Ofcourse, setting the password for the connection in JDev "solves" the problem. But I want to avoid that everyone who uses the reusable component needs to fill in the password for its database connection. In my opinion, that's the whole point of using a JDBC datasource instead of a JDBC URL: the reusable component just states that there needs to be a jdbc/MyConnectionDS on the server and it can be used as is. Wihtout any modifications at development time.
    What's more:
    Suppose I import the reusable JAR and its connection is added to JDev, without password.
    *) Leaving the password empty: DS not found after deployment (web.xml not adjusted, as mentioned in my original post)
    *) Entering the correct password: DS found, web.xml adjusted at deploy time.
    *) Entering an incorrect password: DS found, web.xml adjusted at deploy time.
    It even works when I enter an incorrect password, which proves that the JDBC DataSource on the server is used, instead of the JDev connection. Then why is the web.xml not adjusted when the password remains empty?
    Arun, I'll check the documention that you linked to, but this just seems like an weird decision in the implementation of JDev/ADF. :-)

  • Could not find "jdbc.datasources=..." in default.properties file

    Dear sirs,
    I sucessfully install jdk1.3 ,j2ee 1.3 and 50 day's trial cloudscape5.1 , then run the Cview create a database ,now I want to rigister the database by opening %J2EE_HOME%\config\default.properties file to find the line likes
    "jdbc.datasources=..." to add my database name behind , but I could not find it ,it's content is only appeared as
    following :
    # maximum size of message driven bean instance
    # pool per mdb type
    messagebean.pool.size=3
    # maximum size of a "bulk" message bean delivery
    messagebean.max.serversessionmsgs=1
    # message-bean container resource cleanup interval
    messagebean.cleanup.interval=600
    passivation.threshold.memory=128000000
    idle.resource.threshold=600
    log.directory=logs
    log.output.file=output.log
    log.error.file=error.log
    log.event.file=event.log
    distributed.transaction.recovery=false
    transaction.timeout=0
    transaction.nonXA.optimization=true
    sessionbean.timeout=0
    # validating parser values
    # validating.perser is used when archive file are loaded by
    # any of the J2EE Reference Implementation tools.
    # deployment.validating.parser is used when deploying an
    # archive on the J2EE AppServer.
    validating.parser=false
    deployment.validating.parser=true
    What shoul I do?
    Best regard !
    zhangyu
    cosbulk

    hi zylf,
    what u are looking for is ther in the resource.properties file..
    %J2EE_HOME%\config\resource.properties
    dont rely too much on tutorials.. many are outdated.. it seems..
    try opening all the files in the j2ee dir's, read 'em and try to understand them....
    a better forum for this is the J2EE forum at this url..
    http://forum.java.sun.com/forum.jsp?forum=136
    all the best..
    -Jer

  • Proxy Authentication with JDBC Datasource instead of JDBC URL?

    Hello,
    A requirement for my current project (ADF 10g) is that a user should be able to log in with his regular database account. For the moment, this is implemented using Proxy Authentication, as described in the following article:
    http://blogs.oracle.com/jheadstart/2008/01/using_proxy_authentication.html
    For now, we are using a JDBC URL defined in the application module config for the BC. In short: a ProxyAuthConnectionPoolManager class was created that overrides the default ConnectionPoolManagerImpl. The getConnection method has been overridden to create a standard connection (with the username/pw defined on the AM), and additionally, create a proxy connection within this connection with the specific user credentials. The (simplified) code:
        public Connection getConnection(String key, String url, Properties props, String username, String pwd) {
            // first fetch a default connection from the pool through the superclass
            Connection connection = super.getConnection(key, url, props, username, pwd);
            // cast into an OracleConnection
            OracleConnection oraConnection = (OracleConnection) connection;
                // close any proxy sessions that would still exist on the connection
                if (oraConnection.isProxySession()) oraConnection.close(OracleConnection.PROXY_SESSION);
                // get a handle on the session scope
                Map sessionScope = ADFContext.getCurrent().getSessionScope();
                if (sessionScope != null) {
                    // find the user object in the session (the account the user logs in with)
                    ProxyAuthUser user = (ProxyAuthUser) sessionScope.get(ProxyAuthUser.JHS_USER_KEY);
                    if (user != null) {
                        // create a property map with the end user credentials
                        Properties proxyProps = new Properties();
                        proxyProps.put(OracleConnection.PROXY_USER_NAME, user.getDbUsername() + "/" + user.getDbPassword());
                        proxyProps.put(OracleConnection.PROXY_USER_PASSWORD, user.getDbPassword());
                        // open the proxy session
                        oraConnection.openProxySession(OracleConnection.PROXYTYPE_USER_NAME, proxyProps);
                return oraConnection; 
        }Now, this works perfectly when using a JDBC URL. But when I switch the JDBC Datasource the ProxyAuthConnectionPoolManager class is not called anymore. This is all done in code in the Application Server. While using a JDBC Datasource is actually necessary: otherwise for each environment (dev, test, production,...) a different WAR file is needed.
    What class can I override with code similar to the piece above, to open a proxy connection inside the existing connection, when using a JDBC Datasource?
    Your help would be greatly appreciated!
    Chris

    Hello Krasimir,
    Frank Nimphius gave me the solution to this problem. The prepareSession is indeed the best place to put the code:
       private OracleConnection oconn = null;
       public void prepareSession(SessionData SessionData) {
          super.prepareSession(SessionData);
          oconn = ((PrxyTransactionImpl)this.getDBTransaction()).getPrxyConnection();
          // Specify the user that connects through the proxy user and its roles
          Properties prop = new Properties();
          prop.put(OracleConnection.PROXY_USER_NAME,"hr");
          prop.put(OracleConnection.PROXY_USER_PASSWORD,"hr");
          //prop.put(OracleConnection.PROXY_ROLES, roles);
          // Open the proxy session (DB-authenticated users)
          try {
             oconn.openProxySession(OracleConnection.PROXYTYPE_USER_NAME, prop);
          catch (SQLException e) {
             // Close the connection, to avoid connection to remain open after exception
             oconn.abort();
             e.printStackTrace();
       }But Frank also created the following helper classes to extend the ADF BC behavior:
       package oracle.sample.dbprxy.adfbc;
       import oracle.jbo.server.DBTransactionImpl2;
       import oracle.jbo.server.DatabaseTransactionFactory;
        * TransactionFactory that returns PrxTransactionImpl, which is a subclass of
        * DBTransactionImpl2
        * @author Frank Nimphius
       public class PrxyDatabaseTransactionFactory extends DatabaseTransactionFactory {
          public PrxyDatabaseTransactionFactory() {
             super();
           * Override the create method to return an instance of PrxyTransactionImpl instead
           * of DBTransactionImpl2
           * @return PrxyTransactionImpl
          public DBTransactionImpl2 create() {
             return new PrxyTransactionImpl();
       package oracle.sample.dbprxy.adfbc;
       import oracle.jbo.server.DBTransactionImpl2;
       import oracle.jdbc.internal.OracleConnection;
       public class PrxyTransactionImpl extends DBTransactionImpl2 {
          public PrxyTransactionImpl() {
             super();
           * The DBTransactionImpl2 does not expose the connection in a public
           * method. This class is a wrapper to expose the connection to the
           * BC app, so it can be accessed in the ApplicationModuleImpl class
           * @return OracleConnection - SQL Connection
          public OracleConnection getPrxyConnection() {
             return (OracleConnection) this.getJdbcConnection();
       }In the configuration of your Application Module, you have to set the property "TransactionFactory" (normally the last one in the list) to oracle.sample.dbprxy.adfbc.PrxyDatabaseTransactionFactory. This way, the DBTransaction() of your AM will have a getPrxyConnection() method and you will have the connection at your disposal. You won't need the createPreparedStatement in your code anymore.
    To close the connection, this is the code behind my "logout button" on the backing bean. Application Module Pooling and Connection Pooling will take care of the rest for you!
       ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
       HttpSession session = (HttpSession)ectx.getSession(false);
       session.invalidate();Another thing: be sure to set the internalconnection property to a different JDBC Datasource (or file based) than the one you are using to connect to the database (the default value). Otherwise connection pooling will be confused and there will be too much pending database connections.
    This works for me, all sessions are closed in time and logging out seems secure. I do not have my complete, adjusted code here at my disposal, but next week, when I'm back at work, I'll have a look to see if there is anything I forgot to mention. So this should get you started, but I'll keep you posted!
    A huge thank you to Frank again for helping me (/us) out with this problem!! And sorry I forgot to post the answer here sooner. I was too busy with testing it. :-)
    Regards,
    Chris

  • XSQLServlet and JDBC Datasource

    Hi,
    Is is possible to use connections from a JDBC Datasource
    that is defined in the JNDI context w/ the XSQL servlet, instead of specifying the connection paramters separately in
    the XSQConfig.xml file?
    Would appreciate it if someone would point me in the right direction.
    TIA,
    Vijay

    To specify a data source in a XSQL page:
    1. In the XSQLConfig.xml file set
    <connection-manager>
    <factory>
    oracle.xml.xsql.XSQLDatasourceConnectionManager
    </factory>
    </connection-manager>2. In the oc4j-config/data-sources.xml file set
    <data-source
              class="oracle.jdbc.pool.OracleConnectionPoolDataSource"
              name="OracleDS"
              location="jdbc/DS"
              xa-location="jdbc/xa/OracleXADS"
              ejb-location="jdbc/OracleDS"
              connection-driver="oracle.jdbc.driver.OracleDriver"
              username=""
              password=""
              url="jdbc:oracle:thin:@<host>:<port>:<SID>"
              inactivity-timeout="30"
         />3. In the web.xml of the XSQL page specify resource-ref
    <resource-ref>
      <res-ref-name>jdbc/OracleDS</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
    </resource-ref>3. In the XSQL page specify the data source in the connection attribute of the page tag with
    connection="java:comp/env/jdbc/OracleDS"

  • Non-jdbc datasource for MapViewer

    Is it possible to specify a non-jdbc datasource for Oracle MapViewer?
    That is, if I want Mapviewer to access the database through my own data layer, or with an ORM, is it possible?
    Thanks,
    Rupesh

    I copied jdbcdrv.zip intp C:\Program Files\Sybase\SQL
    Anywhere 9\java
    and using Java page in CF admin, added C:\Program
    Files\Sybase\SQL Anywhere 9\java to classpath, restarted CF
    Application server.
    I then defined new datasources using existing ODBC dsns as
    described in
    http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/html/dbpgen9/000001 52.htm
    (doesn't seem kosher but that's what my model showed).
    It's not exactly speedy but I've not gotten any errors yet
    (maybe because it isn't speedy)
    Anybody have any idea if there is another way that doesn't
    use anODBC dsn ?

Maybe you are looking for

  • Ipod keeps restoring itself 5 or 6 times a day

    hi after switching from pc to a macbook pro i formated my ipod to mac. it worked fine for about one day, now it keeps saying it might be corrupted and it needs to restore to factory settings so i do this and it reboots and does the same again for up

  • DropdownByKey UI element is giving Classcast exception

    Hi In my webdynpro view if i add "DropdownbyKey" UI element and the run the application,it is giving Classcast Exception.i am getting following error The initial exception that caused the request to fail, was:    java.lang.ClassCastException     at c

  • Abap web dynpro

    is it possible to remove the rootuielements in the views of abap web dynpro.if it is possible means pls tell the solution. Edited by: DHINESH RAJ on May 26, 2008 9:15 AM

  • No change in disk space

    Hi All, i am under process of re-installing EBS 11.5.10.2 on RHEL4.0 After stopping the services successfully and manually deleting the tops and rebooting df -h gives Filesystem Size Used Avail Use% Mounted on /dev/sda1 9.7G 2.0G 7.2G 22% / none 1013

  • TS3679 I have A Imac Pro and I can back up my iMac Pro to my time machine but I can't back up my Ima

    I have a Time Machine I set it up and at this time my wifi work and when I backup my Mac Book Pro I can back up my files to my Time Machine. But when I want to back my Imac to my Time Machine I can't. I go to the Time Machine Icon the screen comes up