Obtaining pooled connection in utility class.

Hello,
For our ADF application,
There is a utility class obtaining DB connection. Presently it is directly using JDBC to obtain the same. We need to change it to use connection from the Weblogic connection pool, that gets built at the start of server.
Please can you suggest a specific link that I can refer?
Regards,
Amar

Well create a datasource in weblogic and then in your AM - Configurations - Double click on Local - Application Module Tab - Connection Type section - Select JDBC DataSource - and in the datasource name give the name of datasource you created in weblogic

Similar Messages

  • Obtain CallerPrincipal in a utility class

    Hi,
    I'd like to obtain the caller principal of a ejb from a utility class. I know I can easily get the EJBContext inside the ejb itself using the callback from the container to the setSeccionCoontect method, but what if I need to knwo the caller principal in a utility class called by a business method of my ejb?
    By the way, I'm using EJB2.1 in Weblogic 8.1 and I'm talking about SessionBeans. I know I could obtain the caller principal inside my ejb and simply pass it as a parameter to my utility class, but I dont liek to idea of adding a user parameter to my utility clases method.
    I'm aware that I could do a InitialContext.lookup("java:/comp/EJBContext") if I was using a EJB3 container, but I cant find the equivalent with EJB2.
    Thanks!

    Every thread has a stack of its own and its own copies of local variables, if a static method uses only locals it doesn't have to be synchronized.
    Using lazy initialization with the singleton pattern is a good example of side effects. Examine this code:class Singleton {
        static Singleton instance;
        static Singleton getInstance() {
            if (instance == null) instance = new Singleton();
            return instance;
        // don't allow other classes to create an instance
        private Singleton() {}
    }Now what happens if two threads simultaneously enter the getInstance method and both find the value of the "instance" variable null in the if-condition? You end up creating an instance of the class twice, which is not what you want. This can be solved by writing the method declaration as "synchronized static Singleton getInstance()" so no two threads can enter the method simultaneously.

  • Failed to obtain/create connection from connection pool after redeploy

    I have a web application (.war) that uses a jdbc connection pool. The application works fine, however after I redeploy it using the administration console I get "Failed to obtain/create connection from connection pool [ Datavision_Pool ]. Reason : null" followed by "Error allocating connection : [Error in allocating a connection. Cause: null]" from javax.enterprise.resource.resourceadapter and I am forced to restart the instance. I am running Sun Java System Application Server 9.1 (build b58g-fcs)
    using a connection pool to a Microsoft SQL 2000 database using inet software's JDBC drivers. I need to be able to redeploy applications without having to restart the instance. Any help is appreciated.

    I have turned on some additional diagnostics and found out some answers and a work-around, but I think that there may be a bug in the way JDBC connection pool classes are loaded. The actual error was a null pointer in the JDBC driver class in the perpareStatement method. The only line in this method is "return factory.createPreparedStatement( this , sql );" and the only possible NPE would be if the factory was null, which should be impossible because it is a static variable and it is initialized when the class is loaded. The problem occurs because we deploy the JDBC driver .jar file within our .war file, for use when a client doesn't have or want to use connection pooling. Apparently, the connection pool must have picked up some of these classes and when the .war was redeployed, the reference to the factory was lost for existing connections (not sure how). If I remove the JDBC .jar file from the .war, it works, but that wasn't an ideal solution, the other way to get it to work was to change the sun-web.xml file to have <class-loader delegate="true">. We previously had it set to false in version 8.1 because of interference with a different version of the apache Tiles classes, which has now been addressed in version 9.1.
    I still think there is an issue, because the connection pool should never use the application specific classloaders. Am I wrong to believe this?

  • SharePoint - Error_1_Error occurred in deployment step 'Add Solution': Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was rea

    Hi,
    I am Shanmugavel, SharePoint developer, 
    I am facing the below SharePoint 2013 deployment issue while deploying using VS2012.
    If i will deploy the same wsp or existing wsp
    (last build) using direct powershell deployment, the solution adding properly, but the same timeout exception coming while activation the features.  Please find the below error.
    I tried the below activists:
    1. Restarted my dev server, DB server. 
    2. tried the same solution id different server
    3. tried existing wsp file (last build version)
    4. Deactivated all the features, including project Active deployment configuration.... but still i am facing the same issue.
    I hope this is not coding level issue, because still my code is not start running, before that some problem coming.
    Please help me any one.....  Last two days i am struck because of this...

    What you need to understand is the installation of a WSP does not do much. It just makes sure that you relevant solution files are deployed to the SharePoint farm.
    Next comes the point when you activate the features. It is when the code which you have written to "Activate" certain features for your custom solution.
    Regarding the error you are getting, it typically means that you have more connections (default is I guess 100) open for a SQL database then you are allowed to.
    If you have a custom database and you are opening a connection, make sure you close it as well.
    Look at the similar discussion here:
    The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool
    size was reached[^]
    I would suggest further to look at the
    ULS logs[^] to get better insight.
    Manas Bhardwaj's Stream : www.manasbhardwaj.net

  • SecurityException: "Reserve" errors when obtaining jdbc connections

    Hi,
    We've seen an interesting issue come up with Weblogic 6.1 SP3. Not sure why this
    is happening now.
    I am using the MBean approach to creating Connection Pools dynamically. This still
    works. The main thing I had to change for SP3 was to add a user/password when
    I grab the Admin MBean. So this is all working fine.
    The problem I get is when I try to make a connection. I end up getting a Pool
    connect failed: java.lang.SecurityException: User "guest" does not have Per
    mission "reserve" based on ACL "dynaPool". There were two ways I saw to solve
    this, and I was wondering which was the best.
    1) Add an acl that looks like "acl.reserve.dynaPool=everyone", and that seems
    to work.
    2) User the Driver.connect(String url, Properties aProps) where I include a "user"
    and "password" key for the properties file. I use the same user/password that
    I used to grab the Admin MBean. Problem is, I can't find any doc on this, or why
    it works. Maybe you can enlighten me on why this works.
    Anyway, I was curious on why 2) works, as well as which approach is the recommended.
    We didn't see this reserve error until we tried to utilize SP3. Thanks in advance
    for your assistance.
    Michael Dolbear

    Hi Michael,
    When there is no user provided, user "guest" is used.
    AFAIR in SP2 in ACL was not defined on a pool, this effectively
    allowed making connection to everyone, including guest.
    I haven't worked on SP3, but it looks like the approach changed.
    Speaking about the preferable way of making a connection,
    the second one is better as the principal is clearly specified.
    The first method can be harmful from security point of
    view.
    Hope it helps,
    Regards,
    Slava Imeshev
    "Michael Dolbear" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hi Slava,
    1) Getting the connection:
    Properties tempProperties = new Properties();
    tempProperties.setProperty(USER,
    aUserName);
    tempProperties.setProperty(PASSWORD,
    aPassword);
    tempDriver =(Driver)Class.forName(this.getJDBCDriverClassName()).newInstance();
    tempConnection = tempDriver.connect(this.getJDBCDriverURL(),
    aProperties);
    2) My test case deletes the connection pool after its done, but
    the main things to be know are
    that I am using the weblogic.jdbc.jts.Driver and the url is
    "jdbc:weblogic:jts:someName".
    If that's not enough, I will get you the definition. The connection poolruns
    on top of a two tier driver that is the Oracle thin driver.
    3)Here is the stack trace. The is no weblogoic code in it (just ours), soI don't
    think it will tell you much other than the message:
    com.thc.ids.inf.framework.opf.DatabaseConnectionFailure:RDBMSDataStore:::failure
    to get c
    onnection-Pool connect failed: java.lang.SecurityException: User "guest"does
    not have Per
    mission "reserve" based on ACL "dynaPool".
    atcom.thc.ids.inf.framework.opf.rdbms.datastore.RDBMSDataStore.getConnection(R
    DBM
    SDataStore.java:74)
    atcom.thc.ids.inf.framework.opf.rdbms.query.RDBMSObjectQuery.getConnection(RDB
    MSO
    bjectQuery.java:104)
    atcom.thc.ids.inf.util.persistence.content.queries.DrugsForNameQuery.findDrugs
    For
    Name(DrugsForNameQuery.java:88)
    atcom.thc.ids.inf.util.persistence.content.queries.DrugsForNameQuery.runQuery(
    Dru
    gsForNameQuery.java:69)
    atcom.thc.ids.inf.services.business.css.spi.oracle.OracleSearchProvider.basicR
    unQ
    uery(OracleSearchProvider.java:251)
    atcom.thc.ids.inf.services.business.css.spi.oracle.OracleSearchProvider.basicE
    xec
    uteSearch(OracleSearchProvider.java:169)
    atcom.thc.ids.inf.services.business.css.spi.oracle.OracleSearchProvider.execut
    eSe
    arch(OracleSearchProvider.java:65)
    atcom.thc.ids.inf.services.business.css.ContentSearchService.executeSearch(Con
    ten
    tSearchService.java:89)
    at java.lang.reflect.Method.invoke(Native Method)
    atcom.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescrip
    tio
    n.java:181)
    atcom.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.jav
    a:7
    9)
    atcom.thc.ids.inf.framework.service.internal.ServerObject.invoke(ServerObject.
    jav
    a:141)
    atcom.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_nd24gc_EOImpl.invoke(
    Ser
    viceBean_nd24gc_EOImpl.java:37)
    atcom.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_nd24gc_EOImpl_WLSkel.
    inv
    oke(Unknown Source)
    atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
    atweblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
    :93
    atweblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274)
    atweblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
    2)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "Slava Imeshev" <[email protected]> wrote:
    Hi Michael,
    A couple of questions:
    1. Could you show me how exactly how you obtain a connection?
    2. Could you persist dynamic pool definition and post it here?
    3. Well, three questions :) Could you post the stacktrace you get?
    Regards,
    Slava Imeshev
    "Michael Dolbear" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    We've seen an interesting issue come up with Weblogic 6.1 SP3. Notsure
    why this
    is happening now.
    I am using the MBean approach to creating Connection Pools dynamically.This still
    works. The main thing I had to change for SP3 was to add a
    user/password
    when
    I grab the Admin MBean. So this is all working fine.
    The problem I get is when I try to make a connection. I end up gettinga
    Pool
    connect failed: java.lang.SecurityException: User "guest" does nothave
    Per
    mission "reserve" based on ACL "dynaPool". There were two ways I sawto
    solve
    this, and I was wondering which was the best.
    1) Add an acl that looks like "acl.reserve.dynaPool=everyone", andthat
    seems
    to work.
    2) User the Driver.connect(String url, Properties aProps) where I
    include
    a "user"
    and "password" key for the properties file. I use the same
    user/password
    that
    I used to grab the Admin MBean. Problem is, I can't find any doc onthis,
    or why
    it works. Maybe you can enlighten me on why this works.
    Anyway, I was curious on why 2) works, as well as which approach isthe
    recommended.
    We didn't see this reserve error until we tried to utilize SP3. Thanksin
    advance
    for your assistance.
    Michael Dolbear

  • Data source for application using both pooled and non pooled connections

    Hi guys.
    I am integrating Oracle's connection pooling into an existing application that had formerly used dbConnectionBroker. It looks like this task should be quite straightforward. However, for consistency, I would also like to replace other Connection logic within the application to use Oracle classes. This will involve using OracleDataSource to obtain a Connection object. ( without pooling ).
    So in this case, the application will use both pooled and non pooled Oracle connections. They will be connecting to the same database. The question I have is in regard to the use of data-sources.xml.
    Are there any special considerations for the required attribute values within data-sources.xml under this scenario ?
    Help will be greatly appreciated.
    Regards.
    Steve.

    Hi Steve -
    It should be feasible for you to define a single datasource using multiple location entries to indicate what sort of pooling behaviour you wish to use.
    If you lookup and use the "location" attribute, you will receive a javax.sql.DataSource object which will not provide connection pooling.
    If you lookup and use the "ejb-location" attribute you will receive a DataSource object that will support connection pooling operations.
    Note that this is using the emulated datasource approach, and transaction support is limited to a single resource (one database) for these datasources - you won't get 2PC support for transactions.
    If you need a transaction to span two separate resources (ie two databases in same tx) then you will need to use the non-emulated datasource approach.
    There is a chapter in the J2EE Services Guide which describes the datasource model we have with OC4J. This might provide you with some more useful information. See Chapter 11 - http://otn.oracle.com/docs/products/ias/doc_library/903doc_otn/generic.903/a97690/ds3.htm#1004903
    cheers
    -steve-

  • NPE when using pooled connection

    Hello. I have a client application connecting to an OC4J server running on a different machine. The OC4J server maintains a pool of connections to the Oracle database. My client is able to get the datasource from the server via jndi, and gets a non-null connection from the datasource. However, when I try to create a statement using the connection, I get a Null Pointer Exception. If I get a non-pooled connection from the datasource, everything works fine.
    Here is the client code:
    javax.naming.Context ic = getInitialContext();
    javax.sql.DataSource dataSource = (javax.sql.DataSource)ic.lookup("jdbc/nanookDS"); //this gives you pooling
    // javax.sql.DataSource dataSource = (javax.sql.DataSource)ic.lookup("jdbc/nanookCoreDS"); //this does not
    for (int x=0; x<100; x++)
    Connection conn = dataSource.getConnection();
    if (conn == null)
    System.out.println("null");
    Statement stmt = conn.createStatement(); //fails here
    ResultSet rs = stmt.executeQuery("select * from pmi.patient where patient# = 0");
    rs.close();
    stmt.close();
    conn.close();
    Can someone please tell me what's happening? I'm pulling my hair out...
    BTW, the code above works fine when executed in a JSP on the OC4J server.
    Thank you,
    Brian Brown

    import javax.naming.*;
    import java.util.*;
    import javax.sql.*;
    import java.sql.*;
    public class Lookup {
    public static void main(String arg[]) throws Exception {
    Properties props = new Properties();
    props.put(Context.INITIAL_CONTEXT_FACTORY,"com.evermind.server.rmi.RMIInitialContextFactory");
    props.put(Context.PROVIDER_URL, "ormi://localhost:23791");
    props.put(Context.SECURITY_PRINCIPAL, "admin");
    props.put(Context.SECURITY_CREDENTIALS, "welcome");
    InitialContext ic = new InitialContext(props);
    Lookup l = new Lookup();
    l.testConn ( ( (DataSource) ic.lookup("jdbc/OracleCoreDS") ).getConnection( ) );
    l.testConn( ( (DataSource) ic.lookup("jdbc/pool/OraclePoolDS") ).getConnection( ));
    l.testConn ( ( (DataSource) ic.lookup("jdbc/OracleDS")).getConnection( ));
    public void testConn( Connection conn ) throws Exception {
    Statement s = conn.createStatement( );
    ResultSet r = s.executeQuery(" Select 'Passed' from dual ");
    if( r.next() )
    System.out.println( r.getString(1) );
    else
    System.out.println( "Failed" );
    r.close();
    s.close();
    conn.close();
    Add oc4j.jar and classes12.jar to CLASSPATH.
    Elango.

  • Design Advice Request - Using JDBC in a utility class

    I have a utility class that I would like to use from any client code, regardless of whether that code is executing in a transaction or not.
              This seems to greatly complicate the JDBC access from within the utility class. I appreciate any advice.
              The utility class may both read from and write to the database. It currently attempts to detect whether it is in a transaction (it tests whether TransactionHelper.getTransactionHelper().getTransaction() is null to do this -- please point out if there is a better way.)
              If in a transaction, the utility uses a data source which is linked to an XA connection pool, since it must assume other database activity may be occurring on the tx. If not in a transaction, however, it uses a data source linked to a non-XA connection pool, since the XA connection pool will not work outside of a transaction.
              It seems like there should be an easier way -- are we overlooking some simpler solution?
              The database is Oracle 9i and we are using the Oracle thin drivers.
              Thanks in advance,
              Ken Clark

    Ken Clark wrote:
              > I am not sure what you mean by this:
              >
              > "do all your JDBC work in the
              > scope of a top-level method (or methods)
              > with *all* jdbc variables method-level
              > variables,"
              I saw the code you sent me, and that is what it does, so no worries here.
              >
              > I originally built this with a non-XA DataSource, but found that when the utility was called from within a transaction, I would get errors that there was already a connection in use and that I therefore needed to use an XA connection.
              >
              > Switching to XA DataSource fixed that problem, but then in other cases when not in a transaction, I would get errors saying that an XA Connection could not be used outside a transaction.
              >
              > Since my utility has no control over the callers state, I came up with the solution stated previously, where I determine if in a Tx and then use the corresponding DataSource.
              >
              > Is there just a matter of configuration such that I can use a non-XA DS in all cases?
              I am saying a non transactional DataSource, not a non XA data source. Ie, a datasource that
              is unaware of whether there is a UserTransaction underway. A transactional data source can
              be either XA or not. In the former case, multiple XA connections can and will be entrained
              in any ongoing transactino, and non-XA (but transactional) datasources can and will be
              used in a tx, but only one per tx because they have no 2-phase commit capability.
              Ie; In the config file, you will see TxDataSource for a transactional datasource
              to a pool (whether XA or not), and you will see DataSource for a non-transactional
              data source.
              Joe

  • Problem with EJB and JMS - Failed to obtain/create connection

    hello ejb and jms programmers,
    My problem is my topic MDB keep on retrieving the same message when there is a database connection failure. Maybe somebody could help me how to prevent to retrieve the same data?
    Given:
    - I purposedly turn off the pointbase database because im testing my error handling.
    - Im using SJSAS 8 as my application server.
    - My message Driven Bean of topic type.
    - Im using CMP for my entity bean
    Here is the scenario of whats happening - step by step:
    1. A separate application publishes a message to JMS queue server
    2. My MDB retrieves this message and do some processing then inserts a record (transaction history) in my database
    3. But my db is turned off or down
    4. My MDB sends a successful processing reply to the JMS queue server
    5. Then i noticed that my server.log keeps on growing so when i opened it, the record was not inserted and printed the stacktrace below "RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException" (complete stacktrace below)
    6. I understand the cause of the stacktrace is because the DB is turned off. But what i dont understand is that my MDB keeps on reading the same message. Since my MDB is of topic type, isnt a topic MDB supposedly reads a message only once???
    So my questions are:
    1. how do i handle insert database error?
    2. how can i stop my MDB from processing the same message?
    3. any better suggestions?
    Thank you in advance :)
    leigh
    *** more complete stack trace ***
    [#|2005-01-09T15:35:57.097+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.transaction|_ThreadID=17;|JTS5041: The resource manager is doing work outside a global transaction
    javax.transaction.xa.XAException
         at com.pointbase.xa.xaException.getXAException(Unknown Source)
         at com.pointbase.xa.xaConnectionResource.start(Unknown Source)
         at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:162)
    [#|2005-01-09T15:35:57.167+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5027:Unexpected exception in resource pooling
    javax.transaction.SystemException
         at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:185)
         at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:360)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:303)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:115)
    [#|2005-01-09T15:35:57.177+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException|#]
    [#|2005-01-09T15:35:57.227+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: javax.transaction.SystemException]|#]
    [#|2005-01-09T15:35:57.237+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb|_ThreadID=17;|EJB5071: Some remote or transactional roll back exception occurred
    com.sun.jdo.api.persistence.support.JDODataStoreException: JDO77006: SQL exception: state = null, error code = 0.
    NestedException: java.sql.SQLException: Error in allocating a connection. Cause: javax.transaction.SystemException
    FailedObjectArray: [[email protected]5ac]
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnectionInternal(TransactionImpl.java:1444)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnection(TransactionImpl.java:1339)

    Hi annie,
    Wherever you are handling database transactions,
    you'd not be able to create a Connection if database
    is closed (I think you mentioned turning off the
    database) then at this condition, you should
    certainly throw a System level exception and stop all
    processing with some meaningful flow to indicate a
    failure (like display message on UI). Even
    network problems are handled by exceptions... so I
    don't see a reason why you didn't wrap it in the
    first place.
    Anyway, try handling specific exceptions rather than
    the general Exception... this will give you a better
    idea of what to do in case of an exception.Yes i know this. I am practicing this in my non-j2ee server applications. But the j2ee app im making, i just pass the db url in the descriptor and the app server automatically creates the connection for my app. So where would i put exception handling?
    2. how can i stop my MDB from processing the same
    message?Guaranteed delivery is not supposed to stop
    processing. It will continue to process the message
    after certain intervals till the message is
    delivered. You shouldn't deliver it at all, if you
    are able to detect that the database is off
    The problem here is that my MDB automatically retrieves the message from the JMS queue server. Im not the one retrieving the messages manually.
    My assumed behavior of topic MDB is once the a certain MDB retrieves a message it will not retrieve the same message anymore.
    thank you in advance.
    leigh

  • Is there a Java utility class to help with data management in a desktop UI?

    Is there a Java utility class to help with data management in a desktop UI?
    I am writing a UI to configure a network device that will be connected to the serial port of the computer while it is being configured. There is no web server or database for my application. The UI has a large number of fields (50+) spread across 16 tabs. I will write the UI in Java FX. It should run inside the browser when launched, and issue commands to the network device through the serial port. A UI has several input fields spread across tabs and one single Submit button. If a field is edited, and the submit button clicked, it issues a command and sends the new datum to the device, retrieves current value and any errors. so if input field has bad data, it is indicated for example, the field has a red border.
    Is there a standard design pattern or Java utility class to accomplish the frequently encountered, 'generic' parts of this scenario? lazy loading, submitting only what fields changed, displaying what fields have errors etc. (I dont want to reinvent the wheel if it is already there). Otherwise I can write such a class and share it back here if it is useful.
    someone recommended JGoodies Bindings for Swing - will this work well and in FX?

    Many thanks for the reply.
    In the servlet create an Arraylist and in th efor
    loop put the insances of the csqabean in this
    ArrayList. Exit the for loop and then add the
    ArrayList as an attribute to the session.I am making the use of Vector and did the same thing as u mentioned.I am using scriplets...
    >
    In the jsp retrieve the array list from the session
    and in a for loop step through the ArrayList
    retrieving each CourseSectionQABean and displaying.
    You can do this in a scriptlet but should also check
    out the jstl tags.I am able to remove this problem.Thanks again for the suggestion.
    AS

  • Closing pooled connections?? one at a time?

    I've got an interesting need;
    I've writen a custom UserManager for form based authentication.
    class ValidateLoginManager extends AbstractUserManager
    Authentication is to a legacy DB (Oracle) where all users have
    been added as
    Oracle users. So I've created a separate JNDI data source in
    data-sources.xml
    for pooling connections that I'll only use for authentication
    (just a gut decission).
    The container calls:
    boolean checkPasswd (username, passwd) {
    boolean authenticated = false;
    try {
    dbConnection = this.datasource.getConnection(username,
    passwd);
    authenticated = true;
    } finally {
    if (dbConnection != null)
    dbConnection.close();
    return authenticated;
    This works great, since Oracle authenticates the connection
    against it's user DB.
    But the conn.close() does not close the session on the DB and
    soon all MTS tasks are used up in idle sessions.
    Any thoughts on forcing the connection to drop open sessions?
    thanks, curt

    Hi Curt,
    For my custom usermanager I use a datasource specified in my data-sources.xml like this:
    <data-source
         class="com.evermind.sql.DriverManagerDataSource"
         name="xyz"
         location="jdbc/OracleSecurityDS"
         xa-location="jdbc/xa/OracleXADS"
         ejb-location="jdbc/OracleDS"
         connection-driver="oracle.jdbc.driver.OracleDriver"
         url="jdbc:oracle:thin:@127.0.0.0:1521:xyz"
         inactivity-timeout="30"
    />
    When you lookup the datasource using JNDI, make sure you use the name bound to the location specified in the "location" attribute and not the "ejb-location" attribute (as you usually do in your Ejbs).
    I hope this helps.
    - nik.
    I've got an interesting need;
    I've writen a custom UserManager for form based authentication.
    class ValidateLoginManager extends AbstractUserManager
    Authentication is to a legacy DB (Oracle) where all users have
    been added as
    Oracle users. So I've created a separate JNDI data source in
    data-sources.xml
    for pooling connections that I'll only use for authentication
    (just a gut decission).
    The container calls:
    boolean checkPasswd (username, passwd) {
    boolean authenticated = false;
    try {
    dbConnection = this.datasource.getConnection(username,
    passwd);
    authenticated = true;
    } finally {
    if (dbConnection != null)
    dbConnection.close();
    return authenticated;
    This works great, since Oracle authenticates the connection
    against it's user DB.
    But the conn.close() does not close the session on the DB and
    soon all MTS tasks are used up in idle sessions.
    Any thoughts on forcing the connection to drop open sessions?
    thanks, curt

  • Error while obtaining JCO connection when creating JCO connection

    Hey,
    im having a problem when creating a JCO connection in the Web Dynpro Content Administrator.  Creating the Modeldata (Application Data Data type) JCO Worked but when creating the JCO for the RFC Metadata (Dictionary Meta data) there is a problem:
    In step 3.2 Msg server connection I cannot specify a system name and logon group, only the message server can be selected with the dropdown box.
    After pushing the finish button i get the following stacktrace:
    Failed to create new JCO client connection WD_RFC_METADATA_DEST: com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscapeException: Error while obtaining JCO connection. at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:150) at
    com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.createJCOClientConnection(SystemLandscapeFactory.java:356) at
    com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscape.createJCOClientConnection(WDSystemLandscape.java:107) at
    com.sap.tc.webdynpro.tools.sld.ButtonBar.onActionFinish(ButtonBar.java:224) at com.sap.tc.webdynpro.tools.sld.wdp.InternalButtonBar.wdInvokeEventHandler(InternalButtonBar.java:265) at
    com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at
    com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at
    com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101) at
    com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304) at
    com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:649) at
    com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59) at
    com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:248) at
    com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154) at
    com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116) at
    com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55) at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390) at
    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264) at
    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347) at
    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325) at
    com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887) at
    com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241) at
    com.sap.engine.services.httpserver.server.Client.handle(Client.java:92) at
    com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148) at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at
    com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at
    com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at
    java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95) at
    com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Caused by: com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to resolve connection parameter for WD_RFC_METADATA_DEST at
    com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter4MsgServerJCODestinaton(JCOClientConnection.java:664) at
    com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter(JCOClientConnection.java:508) at
    com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.init(AbstractJCOClientConnection.java:248) at
    com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.<init>(AbstractJCOClientConnection.java:222) at
    com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.<init>(JCOClientConnection.java:101) at
    com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:148) ... 30 more Caused by: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:393) at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter4MsgServerJCODestinaton(JCOClientConnection.java:558) ... 35 more
    We are running WebAS 640 SP 14 on Unix.
    Greetings,
    Hannes
    Message was edited by: Hannes Defloo

    Hi
      Please configure your SLD. Your SLD holds the system definition. Define a SAP WebAS abap system and then try to create a Metadata connection using WebDynpro content administrator. Now you will be able to see the msg server defined in the dropdown. Also ensure that you have the message server entry in your services file.
    Refer these links for SLD
    http://help.sap.com/saphelp_nw04/helpdata/en/c9/dc37520bdf4b48bb8f6d4329f073d5/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/24/8fa93e08503614e10000000a114084/content.htm
    Hope that helps.
    regards
    Ravi

  • Could not create pool connection with MySql

    When starting weblogic server I obtain the following error message when the conection
    pool for a MySql database should be established. What's the mistake I am doing? #The
    examples in the weblogic.properties put a "server=DEMO to the props. What is this
    server related to the MySql RDBMS? Is it mandatory? After the error message produced
    by Weblogic you'll find some information about the MySql setup (my.ini) I have made.
    Mi Mai 01 01:33:50 CEST 2002:<I> <WebLogicServer> Invoking main-style startup weblogic.jdbc.common.internal.JdbcStartup
    weblogic.jdbc.common.internal.JdbcStartup
    Mi Mai 01 01:33:50 CEST 2002:<I> <JDBC Pool> Creating connection pool ejbTestPool
    with:
    {aclName=weblogic.jdbc.connectionPool.ejbTestPool, maxCapacity=2, initialCapacity=1,
    url=jdbc:mysql://Blizzard:3306/ejbTest, props=user=du-it;password=du-it;server=3.23.4
    9-nt, capacityIncrement=1, driver=org.gjt.mm.mysql.Driver, poolName=ejbTestPool}
    Mi Mai 01 01:33:50 CEST 2002:<I> <JDBC Pool> Sleeping in createResource()
    Mi Mai 01 01:33:51 CEST 2002:<E> <JDBC Pool> Failed to create connection pool "ejbTes
    tPool"
    weblogic.common.ResourceException: weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.sql.SQLException: Invalid authorization specification: Access denied for user:
    du-it@blizzard' (Using password: YES)
    at org.gjt.mm.mysql.MysqlIO.init(MysqlIO.java:278)
    at org.gjt.mm.mysql.Connection.<init>(Connection.java:230)
    at org.gjt.mm.mysql.Driver.connect(Driver.java:126)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connecti
    onEnvFactory.java:146)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connecti
    onEnvFactory.java:108)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator
    .java:771)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:4
    16)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:3
    30)
    at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java:117)
    at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
    at weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
    at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java:109)
    at weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connecti
    onEnvFactory.java:154)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connecti
    onEnvFactory.java:108)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator
    .java:771)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:4
    16)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:3
    30)
    at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java:117)
    at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
    at weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
    at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java:109)
    at weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connecti
    onEnvFactory.java:124)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator
    .java:771)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:4
    16)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:3
    30)
    at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java:117)
    at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
    at weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
    at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java:109)
    at weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
    MySql:
    #This File was made using the WinMySQLAdmin 1.4 Tool
    #29.04.2002 14:46:57
    #Uncomment or Add only the keys that you know how works.
    #Read the MySQL Manual for instructions
    [mysqld]
    basedir=D:/db/mysql
    #bind-address=169.254.102.136
    datadir=D:/db/mysql/data
    #anguage=D:/db/mysql/share/german
    #slow query log#=
    #tmpdir#=
    port=3306
    #set-variable=key_buffer=16M
    [WinMySQLadmin]
    Server=D:/db/mysql/bin/mysqld-nt.exe
    user=du-it
    password=du-it

    When starting weblogic server I obtain the following error message when the conection
    pool for a MySql database should be established. What's the mistake I am doing? #The
    examples in the weblogic.properties put a "server=DEMO to the props. What is this
    server related to the MySql RDBMS? Is it mandatory? After the error message produced
    by Weblogic you'll find some information about the MySql setup (my.ini) I have made.
    Mi Mai 01 01:33:50 CEST 2002:<I> <WebLogicServer> Invoking main-style startup weblogic.jdbc.common.internal.JdbcStartup
    weblogic.jdbc.common.internal.JdbcStartup
    Mi Mai 01 01:33:50 CEST 2002:<I> <JDBC Pool> Creating connection pool ejbTestPool
    with:
    {aclName=weblogic.jdbc.connectionPool.ejbTestPool, maxCapacity=2, initialCapacity=1,
    url=jdbc:mysql://Blizzard:3306/ejbTest, props=user=du-it;password=du-it;server=3.23.4
    9-nt, capacityIncrement=1, driver=org.gjt.mm.mysql.Driver, poolName=ejbTestPool}
    Mi Mai 01 01:33:50 CEST 2002:<I> <JDBC Pool> Sleeping in createResource()
    Mi Mai 01 01:33:51 CEST 2002:<E> <JDBC Pool> Failed to create connection pool "ejbTes
    tPool"
    weblogic.common.ResourceException: weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.sql.SQLException: Invalid authorization specification: Access denied for user:
    du-it@blizzard' (Using password: YES)
    at org.gjt.mm.mysql.MysqlIO.init(MysqlIO.java:278)
    at org.gjt.mm.mysql.Connection.<init>(Connection.java:230)
    at org.gjt.mm.mysql.Driver.connect(Driver.java:126)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connecti
    onEnvFactory.java:146)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connecti
    onEnvFactory.java:108)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator
    .java:771)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:4
    16)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:3
    30)
    at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java:117)
    at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
    at weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
    at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java:109)
    at weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connecti
    onEnvFactory.java:154)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connecti
    onEnvFactory.java:108)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator
    .java:771)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:4
    16)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:3
    30)
    at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java:117)
    at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
    at weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
    at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java:109)
    at weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connecti
    onEnvFactory.java:124)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator
    .java:771)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:4
    16)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:3
    30)
    at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java:117)
    at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
    at weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
    at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java:109)
    at weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
    MySql:
    #This File was made using the WinMySQLAdmin 1.4 Tool
    #29.04.2002 14:46:57
    #Uncomment or Add only the keys that you know how works.
    #Read the MySQL Manual for instructions
    [mysqld]
    basedir=D:/db/mysql
    #bind-address=169.254.102.136
    datadir=D:/db/mysql/data
    #anguage=D:/db/mysql/share/german
    #slow query log#=
    #tmpdir#=
    port=3306
    #set-variable=key_buffer=16M
    [WinMySQLadmin]
    Server=D:/db/mysql/bin/mysqld-nt.exe
    user=du-it
    password=du-it

  • ClassNotFoundException on utility class in JTA Transaction

    When using user defined transactions, I am finding I get odd
              ClassNotFoundExceptions. I've tested this primarily on NT/2000, but did
              also confirm it on Solaris. Can anyone explain it?
              The exception only seems to occur if it becomes necessary to throw an
              exception from the EJB. If I am not inside a user defined transaction,
              there are no problems. (Even if the method is marked as Transacation
              Required). Similarly, if no exception is thrown, there is also no problem
              (even though I use plenty of other utility classes)
              The classes (including the utility class) are all in my deployed jar file
              (which is deployed as part of an ear file).
              The error message is below:
              java.lang.ClassNotFoundException:
              com.iknowledge.inext.exception.STInvalidNameException
              at
              weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.
              java:178)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
              at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:195)
              at
              weblogic.j2ee.ApplicationManager.loadFromNetwork(ApplicationManager.java:248
              at
              weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:175)
              at
              weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.
              java:211)
              at
              weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.re
              adClassDescriptor(ChunkedObjectInputStream.java:290)
              at
              java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:906)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
              at
              java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
              at
              java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
              at
              java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
              at
              java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
              at
              weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectIn
              putStream.java:107)
              at
              weblogic.transaction.internal.PropagationContext.readExternal(PropagationCon
              text.java:304)
              at
              weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectIn
              putStream.java:97)
              at
              weblogic.common.internal.ChunkedObjectInputStream.readObjectWL(ChunkedObject
              InputStream.java:123)
              at
              weblogic.rjvm.MsgAbbrevInputStream.readTxContext(MsgAbbrevInputStream.java:1
              66)
              at
              weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.j
              ava:156)
              at
              weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:581)
              at
              weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
              at
              weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:638)
              at
              weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              

    You closed your Main class with a bracket, so your getConnection() method isn't in a class
    public class Main {
        /** Creates a new instance of Main */
        public Main() {
        public static void main(String[] args) {
            Connection con = getConnection();
            System.out.println("The connection is: " +con );
    }That is your entire Main class. Anything below it isn't in the class.

  • Unable to Obtain a Connection to Hyperion Essbase from Planning Application

    Dear All,
    I have installed FDM+Foundation+HFM+Essbase+Planning 11.1.1.3 (Tomcat)
    I have stacked with the following problem:
    when I try to open my data form, I am getting
    “Unable to obtain a connection to Hyperion Essbase. If this problem persists, please contact your administrator”
    Validate Database Connection & Validate Essbase Connection are successful throw Manage Data Source menu
    Essbase user has admin privileges
    In EAS console I can make myself sure, that my application is running
    Data Form is valid (verified in Preview screen in Data Form wizard)
    Can somebody help me with it?
    Best Regards,
    Siarhei

    Thanks, John
    Summary
    Symptoms
    When attempting to connect to Hyperion Planning as the admin user, the following error occurs:
    Unable to obtain a connection to Hyperion Essbase. If the problem persists, please contact your administrator'
    Cause
    Hyperion Planning web accesses the application by making a connection to the Planning metadata in the relational repository (via Relational repository settings) and also to Essbase via the datasource settings.
    Any Essbase connection issues indicate problems with the Essbase settings in the datasource or are related to the Essbase server.
    Solution
    - Edit the datasource via the Configuration Utility.
    - Test the Essbase connection and make sure that the user used to make the connection is valid and has admin rights to Essbase.
    - Restart the Hyperion Planning service once the Essbase user has been given the correct access rights.
    - Login to the Essbase Administration Services (EAS) console and right click on the Essbase server name node -> Refresh security from Shared Services
    - Expand the applications node (under the Essbase server name node) and check that there is an application with exactly the same name as the Planning application.
    Note: Go to section 'manually recreating a Planning application in Hyperion Essbase, if the Planning application is missing in the above step.
    - Login to the application in Hyperion Planning web.
    Manually recreating a Planning application in Essbase:
    - Login to the EAS console as admin (the Essbase user used by admin must have Essbase administrator rights)
    - Go to Essbase servers -> your Essbase server name -> right click on applications -> Create application -> Using Block Storage and enter the exact Hyperion Planning Application name then click on ok.
    Note: The above step will only create the application shell without the databases.
    - Login to the application in Hyperion Planning web as admin and go to Administration menu -> Manage Database -> select database and filters (to create filter access to Essbase) and Refresh (refresh will also recreate the databases if they don't exist)
    Best Regards,
    Siarhei

Maybe you are looking for

  • RMAN recover on a different server - Verify all changes are applied

    Hey everyone, I have two database servers, Oracle 10g SE on linux. One is the 'primary', and we plan to switchover to the other newer server. In order to minimize the downtime from a duplicate database, or a full backup and restore/recover, I restore

  • Help me conver following SQL server script in to Oracle Script

    could any one help me to conver following script in to oracle script Create Procedure Insert_profilebasicdetail @isubprofileid as int, @Copyisubprofileid as int, @itranno as int, As Begin      Declare @IncKeyId as int      Declare @tempkeyId as int  

  • Newbie- Content DB 10.1.2, Enterprise Mgr 10g, App Ser. Control 'ERROR'

    We are trying to install and start Content DB 10.1.2 on a a Windows machine. At the end of the config log I see a problem. Wondering how to tell what the exit code 408 means. *********************** Starting StartingContentNodeInstanceNT ************

  • Display icons

    Hi, I'm trying to convert forms 4.5 to 6i without a Server, i've already define the string UI_ICON on my registry, i've converted the ico files to gif files. The problem is: i can't see my icons on the canvas and when running through Builder / Web. I

  • Connection Fail-over

    My database may be replicated to multiple servers, in the event that a connection fails to the primary server, my class should try the same statement on the next context in an ordered list. Any advice on errors to watch for to know the connection is