Change connection Pool according to dashoard prompt.

Hi experts,
I have a requirement where user will select the server name(Server1/Server2) from dashboard prompt and OBIEE should fire query on the respected server.
Thanks,

Hi,
1. You need to created prompt with the data sources names hardcoded or a separated column from the DB which consists of the data sources names.And have a presentation variable assigned.
2. In the RPD create a session variable, making the option enabled 'Enable any user to set the value' when you create a new session variable.
http://hekatonkheires.blogspot.in/2009/10/obiee-101341-dynamic-data-source.html
3. Assign this session variable at the connection pool data source name.
4. In the report in the advanced tab, use the SET VARIABLE session_variable=@{presentation_variable}.
5. Now all things should be fine. When you select any value in the dashboard prompt, it assigns the presentation variable value to the session variable and in turn it gets assigned in the data source name.
Award points if this helped.
Regards
MuRam

Similar Messages

  • Changing connection pool

    I have the three layers created in the RPD (physical, business, presentation). Now I have to point to another db with the same physical table structure. When I change the ODBC definition to point to another DB, I receive errors in Oracle because the physical columns in the rpd are mapped to a different table owner name from the first database. Is there a way to change the DB and not have to change the physical RPD layer?
    Regards

    hi,
    you must understund the meaning of the 3 sections....
    In the logical section you can import data from any datasource.....all the ones you need..
    the most important section is the bussiness one....
    here you make your star shema......here you can make as many as want.....and pass it to your presentation...
    i hope i helped....
    http://greekoraclebi.blogspot.com/
    ///////////////////////////////////////

  • Restart required when I make changes to Connection Pools in Sun App Srv 9

    When I make changes to the connection pool settings in Sun Application Server 9, i.e. when I change maximum connections or resize size, do I need to manually restart the domain? Is it a best practice to restart, or is it not needed at all?
    Thanks!
    Dailysun

    no, changing the pool parameters like maxsize, steadypoolsize etc., does not need restart.
    http://docs.sun.com/app/docs/doc/819-3658/6n5s5nkld?a=view#ablch
    Thanks,
    -Jagadish

  • Changing Data source in connection pools

    hi all,
    When the primary data source goes down or is unresponsive, we have to often point our repository connection pool to a backup data source. As this is production environment, we would like to do this without bringing the services down.
    I usually make sure that there are no requests running by going to Manage Sessions and clicking on 'close all cursors' and 'Cancel all running requests'. Are there any other implications of not restarting the services while changing the data source connections? Do the connection pools are kept open to the old data source?
    We use Oracle 10G as a database, but I have also done this with DB2 database.
    Thanks in Advance

    Turribeach said it correct.
    But if you are handling the failover manually for now until you figure out the RAC setup, it is better you kill all the user session through the admin tool . AdminTool -> Manage -> Sessions
    Otherwise the users already connected will keep getting errors until they choose to relogin or choose to "Reload Server Metadata" in the answers, which they would probably not even know. So it is better to kill their session forcing them to relogin. But the transition will not be seamless if they in the process of firing a query.

  • How to change the connection pool configuration on OC4J?

    Hi everybody,
    I am developing an application with JDeveloper which is running on an OC4J standalone server, we have 2 enviroments, the develop server and the server of the client, and the data base connection configurations are differents.
    The problem is that if we try to deploy the application (we have deploy on the develop server) on the client server and try to change the connection pool configuration the application cannot connect to the data base, we need to re-build the project with the client connection pool configuration.
    We tried to change the configuration on the enterprise manager of the OC4J, on "JDBC Resources" panel, and the test the connection is ok, but when try to access to the application we get an Exception. After that we try to do that changing the parameters from the datasources.xml file on the application, but the result is the same.
    How can we change the DataBase configuration without re-build the project?
    Thanks very much
    Tony

    Meaning you have created just the empty data-sources.xml and not configured any Connection Pool and DataSource in JDev?
    In Oracle AS 10.1.3 you have two ways to do this:
    1. Use JDev and configure the data-sources.xml (Context Menu -> Properties)
    2. In Oracle AS: Select application -> Administration -> Services -> JDBC Resources -> Create Pool and Create DataSource
    --olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • RPD connection pool change

    I modified the connection pool to connect to development database. Of course, I stopped the presentation and the BI servers before making any change to RPD. After restarting the services, I was able to connect to Dev DB. However, a few minutes later, I modified the RPD to change the connection back to QA from Dev. On restarting the servers, when I run my reports, I am not getting the data from QA as I would expect.
    Please let me know how I can make the connection to QA working.
    Thanks,
    Bhusan

    Saichand,
    The dashboard report is getting the wrong data. When I took the exact SQL from the session log and ran that on QA database, I am getting correct data. So I thought the report is not going to the right database. And that could happen because I toggled between QA and Dev in the last one hour.
    Please let me know if this is enough details.
    Thanks.

  • Strange problem since changing some settings Connection Pool

    Since changing the following settings in my connection pool, I have been seeing strange behavior with an application that has been deployed for over a year.
    <br><br>
    The settings I changed were the following:
    <br><br>
    Maximum Capacity: Changed from 25 to 100<br>
    Statement Cache Size: Changed from 10 to 200<br>
    Shrink Frequency: Changed from 900 to 300<br>
    Connection Reserve Timeout: Changed from 10 to 5<br>
    Maximum Waiting for Connection: Changed from 2147483647 to 50
    <br><br>
    I was wondering if anyone had any comments on these settings as well as any insight as to why I am seeing the results of a prepared statement
    <br>
    <b>("select count(*) from event where event_id = ?" )</b>
    <br>
    come back as <u>0</u> for the user that just created a record a few minutes before. At the same time another user can log in to the application and cause the same query to run and they get a count of <u>1</u> for the record the other user just created. Then if I restart Weblogic both users get a count of <u>1</u>
    <br><br>
    Driver 9.0.2.0.0<br>
    Weblogic 8.1.3.0

    try
    select * from v$session where lower(module) like 'jdbc%';if you don't find .... so... no connection from jdbc...
    Because when jdbc pool ... start.... It should create connection ... hold on database.

  • Change EBS OLTP Connection Pool

    Hello,
    I recently installed and configured OBIEE+ (v. 10.1.3.4.0) and OBIAPPS with ODI (v. 7.9.5.2.) that points to one demo eBS instance. Now, I would like to change the OLTP source to another eBS instance. I tried to find a guide to do just that but was unable. If anybody knows the steps to do this I would greatly appreciate it. I don't know if its OK just to change the connection pool in the admin tool, and in ODI, and overwrite the DWH or thing wont go that easy?
    Thanks for your answers,
    Luka

    I now realized there is a forum for BIAPPS so I kindly ask the moderator to move this question to that forum.
    Soorryy..

  • ORABPEL START-UP ERROR!!!!!!!! - Connection Pool Deployment failure

    I have installed BPEL Process Manager with Weblogic 8.1SP4.
    I am using Oracle Database 9.2.0.5.0 for Oracle BPEL Process
    Manager installation.
    Also i have made following changes for JDBC thin driver accordingly.
    <JDBCConnectionPool CapacityIncrement="2"
    DriverName="oracle.jdbc.OracleDriver"
    MaxCapacity="15" LoginDelaySeconds="1"
    Name="BPELServerPool"
    ShrinkPeriodMinutes="15"
    ShrinkingEnabled="true" SupportsLocalTransaction="true"
    Targets="orabpelServer"
    URL="jdbc:oracle:thin:orabpel/orabpel_password@hostname:port:database_servoce_
    name"/>
    I m getting following error while starting the server :-
    Connection Pool "BPELServerPool" deployment failed with the following error: 0:Could not create pool connection. The DBMS driver exception was: invalid arguments in call.
    Also I m getting following error during startup
    ORABPEL-04076
    Cannot lookup jdbc datasource.
    The process domain was unable to lookup the TX datasource "BPELServerDataSourceWorkflow".
    Please check that the machine hosting the datasource is physically connected to the network. Additionally check that the connection pool properties as defined in the application server startup properties are valid.
    at com.collaxa.cube.engine.data.ConnectionFactory$ConnectionFactoryImpl.init(ConnectionFactory.java:268)
    at com.collaxa.cube.engine.data.ConnectionFactory.update(ConnectionFactory.java:54)
    at com.collaxa.cube.engine.data.ConnectionFactory.init(ConnectionFactory.java:42)
    at com.collaxa.cube.admin.data.ServerConnectionFactory.init(ServerConnectionFactory.java:34)
    at com.collaxa.cube.admin.adaptors.ServerAdaptorManager.init(ServerAdaptorManager.java:66)
    at com.collaxa.cube.admin.ServerManager.__init(ServerManager.java:211)
    at com.collaxa.cube.admin.ServerManager.init(ServerManager.java:99)
    at com.collaxa.cube.ejb.impl.ServerBean.init(ServerBean.java:200)
    at com.collaxa.cube.ejb.impl.ServerBean_g9inc6_EOImpl.init(ServerBean_g9inc6_EOImpl.java:856)
    at com.collaxa.cube.admin.CXLoaderServlet.init(CXLoaderServlet.java:62)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1028)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:904)
    at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:883)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:822)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3333)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3278)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3259)
    at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5949)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:862)
    at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2127)
    at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2168)
    at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2115)
    at weblogic.management.deploy.slave.SlaveDeployer$Application.setActivation(SlaveDeployer.java:3082)
    at weblogic.management.deploy.slave.SlaveDeployer.setActivationStateForAllApplications(SlaveDeployer.java:1751)
    at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:359)
    at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
    at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
    at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
    at weblogic.Server.main(Server.java:32)
    <Error> <HTTP> <BEA-101216> <Servlet: "cxloader" failed to preload on startup in Web application: "startup".
    javax.servlet.ServletException:
    ORABPEL START-UP ERROR!!!!!!!!
    Can Anyone kindly suggest what is the problem ?

    I have installed BPEL Process Manager with Weblogic 8.1SP4.
    I am using Oracle Database 9.2.0.5.0 for Oracle BPEL Process
    Manager installation.
    Also i have made following changes for JDBC thin driver accordingly.
    <JDBCConnectionPool CapacityIncrement="2"
    DriverName="oracle.jdbc.OracleDriver"
    MaxCapacity="15" LoginDelaySeconds="1"
    Name="BPELServerPool"
    ShrinkPeriodMinutes="15"
    ShrinkingEnabled="true" SupportsLocalTransaction="true"
    Targets="orabpelServer"
    URL="jdbc:oracle:thin:orabpel/orabpel_password@hostname:port:database_servoce_
    name"/>
    I m getting following error while starting the server :-
    Connection Pool "BPELServerPool" deployment failed with the following error: 0:Could not create pool connection. The DBMS driver exception was: invalid arguments in call.
    Also I m getting following error during startup
    ORABPEL-04076
    Cannot lookup jdbc datasource.
    The process domain was unable to lookup the TX datasource "BPELServerDataSourceWorkflow".
    Please check that the machine hosting the datasource is physically connected to the network. Additionally check that the connection pool properties as defined in the application server startup properties are valid.
    at com.collaxa.cube.engine.data.ConnectionFactory$ConnectionFactoryImpl.init(ConnectionFactory.java:268)
    at com.collaxa.cube.engine.data.ConnectionFactory.update(ConnectionFactory.java:54)
    at com.collaxa.cube.engine.data.ConnectionFactory.init(ConnectionFactory.java:42)
    at com.collaxa.cube.admin.data.ServerConnectionFactory.init(ServerConnectionFactory.java:34)
    at com.collaxa.cube.admin.adaptors.ServerAdaptorManager.init(ServerAdaptorManager.java:66)
    at com.collaxa.cube.admin.ServerManager.__init(ServerManager.java:211)
    at com.collaxa.cube.admin.ServerManager.init(ServerManager.java:99)
    at com.collaxa.cube.ejb.impl.ServerBean.init(ServerBean.java:200)
    at com.collaxa.cube.ejb.impl.ServerBean_g9inc6_EOImpl.init(ServerBean_g9inc6_EOImpl.java:856)
    at com.collaxa.cube.admin.CXLoaderServlet.init(CXLoaderServlet.java:62)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1028)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:904)
    at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:883)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:822)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3333)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3278)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3259)
    at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5949)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:862)
    at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2127)
    at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2168)
    at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2115)
    at weblogic.management.deploy.slave.SlaveDeployer$Application.setActivation(SlaveDeployer.java:3082)
    at weblogic.management.deploy.slave.SlaveDeployer.setActivationStateForAllApplications(SlaveDeployer.java:1751)
    at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:359)
    at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
    at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
    at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
    at weblogic.Server.main(Server.java:32)
    <Error> <HTTP> <BEA-101216> <Servlet: "cxloader" failed to preload on startup in Web application: "startup".
    javax.servlet.ServletException:
    ORABPEL START-UP ERROR!!!!!!!!
    Can Anyone kindly suggest what is the problem ?

  • Using oracle's connection pools and transactional context

    Hi!
    I have an implementations of existing interfaces ( let's call this layer as
    data access layer) which abstracts the connection and transactional session
    from the calling application. This implementaion makes use of Oracles JVM
    inside the oracle database (8.1.7) to create and maintain the connection
    pools and the transactional session (transactional context). I would like
    to create differenent implementation, if the calling application is a
    session bean running inside the weblogic application server. is there way I
    can still use the connection pools and transactinal context that I got from
    the oralce if the calling application is a session bean running inside the
    weblogic app.. server?
    do I have to change any configuration settings in weblogic?. there might
    be two scenarios..
    the data access layer (the classes which deal with the connection pools and
    transactions) might be running inside the oracle's JVM..
    the data access layer might be running inside weblogic application server...
    thanks...
    Srinivas

    Certainly this from SPAM. Now from anothe user :). Note sure whether I should mark you as you as SPAM as you're posting questions which are available in stackoverflow
    http://stackoverflow.com/questions/26531161/biztalk-and-odp-net-connection-pools-and-connection-strings
    Details provided in the other forum should provide you the answer.
    I don’t want to duplicate this thread just for the sake of giving reply.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Weblogic 7.0 , MySQL 3.23 JDBC Connection Pools

    i am using weblogic 7.0 and MySQL 3.23 and right now my objective is to create,
    configure and test a JDBC
    connection pool using the Administrative console.
    Here is what i have done till now
    - set the classpath of the MySQL driver in the startWLS.cmd like this
    SET MYSQL_DRIVER=C:\mysqldriver\mysql-connector-java-2.0.14\mysql-connector-java-2.0.14-bin.jar
    set CLASSPATH=%MYSQL_DRIVER%;%CLASSPATH%
    - using the weblogic administrative console i have created a new connection pool
    named as
    testpool.
    - Here is what i have in the testpool general tab
    Name: testpool
    URL: jdbc:mysql//localhost:3306/test (test is the name of the database in mysql)
    Driver Classname: org.gjt.mm.mysql.Driver
    I have not entered any Properties, ACL Name, Password or Open String Password.
    - Now i go the the Testing tab and enter a name of a table in my test database
    and click on Apply
    and on the command window i am getting the following exception
    java.sql.SQLException No suitable driver
    Thanks in advance,
    Ashish

    Thanks a lot Slava. After reading your mail and the post i was able to get it working.
    "Slava Imeshev" <[email protected]> wrote:
    Hi Ashish,
    I figured out what's the problem. URL in the connection pool
    definition is malformed. It's
    jdbc:mysql//localhost:3306/test
    while the correct one should have colon after mysql:
    jdbc:mysql://localhost:3306/test
    Regards,
    Slava Imeshev
    "Ashish Sureka" <[email protected]> wrote in message
    news:[email protected]...
    I am sorry, the program that i posted here is not comming properlyformatted but
    i am able to run a simple java program that connects to MySQL and alsoa
    servlet
    that connects to the MySQL. The only problem i am having is includingthe
    MySQL
    driver jar files to the weblogic server classpath.
    Thanks,
    Ashish.
    "Ashish Sureka" <[email protected]> wrote:
    Hello Joseph Weinstein,
    Actually, i already tried the same approach that you have mentioned
    in
    your reply
    before i posted my message here. Following is the program that i use
    to check
    MySQL connection.
    import java.sql.*;
    public class MySQLConnect
    public static void main(String[] args) throws Exception
    try {
    Class.forName ( "org.gjt.mm.mysql.Driver" );
    System.out.println ( "MySQL Driver Found" );
    } catch ( java.lang.ClassNotFoundException e ) {
    System.out.println("MySQL JDBC Driver not found ... ");
    throw ( e );
    String url = "";
    Connection con = null;
    try {
    url = "jdbc:mysql://" + "localhost:3306" + "/" + "test";
    con = DriverManager.getConnection(url);
    System.out.println("Connection established to " + url + "");
    } catch ( java.sql.SQLException e ) {
    System.out.println("Connection couldn't be established to " + url);
    String sqlStatement = "SELECT * FROM testtable";
    try {
    Statement s = con.createStatement();
    s.execute (sqlStatement);
    s.close ( );
    } catch ( SQLException e ) {
    System.out.println ( "Error executing sql statement" );
    con.close();
    The classpath that i use to run this program is
    SET PATH=C:\bea\jdk131_03\bin
    SETCLASSPATH=C:\bea\jdk131_03\jre\lib\rt.jar;C:\bea\weblogic700\ebcc\lib\ext\se
    rvlet.jar;C:\CSC413\Demos\HelloApp\HelloAppJAR
    SET CLASSPATH=%CLASSPATH%;C:\bea\weblogic700\server\lib\weblogic.jar
    SETMYSQL_DRIVER=C:\mysqldriver\mysql-connector-java-2.0.14\mysql-connector-java
    -2.0.14-bin.jar
    set CLASSPATH=.;%MYSQL_DRIVER%;%CLASSPATH%
    I have also written a Servlet which checks the MySQL connection. For
    the servlet
    i added the MySQL driver jar files in the WEB-INF/lib directory ofthe
    servlet
    web application and it is working fine.
    do you want me to attach the startWLS.cmd file that i changed to include
    the MySQL
    driver classpath.
    Thanks for your replies,
    Ashish.
    Joseph Weinstein <[email protected]> wrote:
    Ashish Sureka wrote:
    When i start the weblogic server using the command prompt by executingthe startWLS.cmd,
    i can see the classpath the server is using on the command window
    and
    that includes
    the jar file for the MySQL driver but still it is throwing a
    SQLException
    and
    saying that No Suitable driver.
    How do i include a external library or jar file on the weblogic
    server's
    classpath.
    is there a specific directory where i should put the MySQL driver
    jar
    file .
    Thanks,
    Ashish.No. Let's simplfy the problem. Please run a tiny standalone Java
    program
    that
    just makes a JDBC connection to your MySQL DBMS, with no weblogic
    code in the picture. When you succeed at this, show me the CLASSPATH
    and
    PATH of the shell that ran the program successfully, and show methe
    few lines
    of code that made the connection. Then we will know the problem.It
    may
    be that
    the URL you're passing to the pool is not exactly correct for that
    driver.
    Joe
    Joseph Weinstein <[email protected]> wrote:
    Ashish Sureka wrote:
    i am using weblogic 7.0 and MySQL 3.23 and right now my objective
    is
    to create,
    configure and test a JDBC
    connection pool using the Administrative console.
    Here is what i have done till now
    - set the classpath of the MySQL driver in the startWLS.cmd
    like
    this
    SET
    MYSQL_DRIVER=C:\mysqldriver\mysql-connector-java-2.0.14\mysql-connector-java
    -2.0.14-bin.jar
    set CLASSPATH=%MYSQL_DRIVER%;%CLASSPATH%
    - using the weblogic administrative console i have created anew
    connection
    pool
    named as
    testpool.
    - Here is what i have in the testpool general tab
    Name: testpool
    URL: jdbc:mysql//localhost:3306/test (test is the name of
    the
    database
    in mysql)
    Driver Classname: org.gjt.mm.mysql.Driver
    I have not entered any Properties, ACL Name, Password or
    Open
    String
    Password.
    - Now i go the the Testing tab and enter a name of a table in
    my
    test
    database
    and click on Apply
    and on the command window i am getting the following exception
    java.sql.SQLException No suitable driverWatch the first lines that the server prints out when the script
    starts
    it. The script
    shows the classpath that was constructed for the server. It is
    likely
    that you need
    to do something else to ensure your driver is really in the classpath
    the server uses.
    Joe
    Thanks in advance,
    Ashish

  • RFC_FAILURE affects Connection Pool

    Using VB.NET (2003) with .Net Connector 2.0.
    An intermittent problem causes a RFC Call to fail, and an exception is raised in the .NET code. The Exception message is:
         See RFC trace file or SAP system log for more details
    The Trace file shows:
    ERROR file opened at 20051115 131423 GMT Standard
         T, SAP-REL 640,0,78 RFC-VER 3 759904 MT-SL
    <b>T:2844 Could not send rfc container 0x130
    T:2844 <* RfcCall [1] : returns 1:RFC_FAILURE
    T:2844 <* RfcCallReceive [1] : returns 1:RFC_FAILURE
    >TS> Tue Nov 15 13:14:24 2005
    T:2844 <* RfcCleanupContext [1] : returns
              18:RFC_INVALID_HANDLE
    T:2844 <* RfcCleanupContext [1] : returns
              18:RFC_INVALID_HANDLE</b>
    This error adversely affects the Connection Pool – as calls to other RFCs are now prone to similar intermittent errors…
    Is there any way to prevent the problem causing problems with Connection Pool ?
    Is there any way of removing a “faulty” connection from the pool ? (NB Close and Dispose on the connection does not help)

    The application is a Windows service - so I don't want to lose any connections. I assume that closing the connection (and not returning it) will affect the number of available connections in the pool(?).
    I'm using async. RFC call, and the problem is detected in the callback function when the EndRFCCall is performed.
    Original code:
    Public Sub Execute_RFC(ByVal parameters as string())
    ' Assign SAP Connection to RFC Proxy
    sapRFCProxy.Connection = SAPConnectionPool.GetConnectionFromPool(<i>ConnectString</i>)
    Call the SAP RFC - Asynchronously
    arAsyncResult = m_sapRFCProxy.BeginRFCCall( params..., AddressOf RFC_CallBack, objAsyncState)
    End Sub
    Private Sub RFC_CallBack(ByVal ar As IAsyncResult)
    Try
        ' Retrieve the SAP RFC Response...
        Call sapRFCProxy.EndRFCCall(ar, <i>param1, param2, etc...</i>)
    Catch ex As Exception
        ' Log the Error...
    End Try
    ' Return the Connection
    Call SAPConnections.ReturnConnection(sapRFCProxy.Connection)
    End Sub
    I have changed the code as suggest so that the connection is closed, disposed but <u>not</u> returned. This cleared the RFC_INVALID_HANDLE errors, but the main problem of a corrupted connection persists.
    Diagnostics produced by the amended code:
    <u>Trace File (Info):</u>
    2005-11-16 11:55:46Z     Warning: RfcCleanupContext failed. Closing connection
    <u>dev_RFC.trc</u>
    ERROR file opened at 20051116 115546 GMT Standard T, SAP-REL 640,0,78 RFC-VER 3 759904 MT-SL
    T:3068 ======> CPIC-CALL: 'CMSEND'
    ERROR       program state check for conversation 99610798
    TIME        Wed Nov 16 11:55:46 2005
    RELEASE     640
    COMPONENT   CPIC (TCP/IP)
    VERSION     3
    RC          471
    MODULE      r3cpic.c
    LINE        2576
    DETAIL      called function STSEND in state state=BUFFER_DATA2
    COUNTER     1
    T:3068 <* RfcCall [20] : returns 1:RFC_FAILURE
    T:3068 <* RfcCallReceive [20] : returns 1:RFC_FAILURE
    T:3068 <* RfcCleanupContext [20] : returns 1:RFC_FAILURE
    Even with the change to the code, a call to a reliable RFC will now fail <u>intermittently</u> with:
    T:2876 Could not send rfc container 0x130
    T:2876 <* RfcCall [24] : returns 1:RFC_FAILURE
    T:2876 <* RfcCallReceive [24] : returns 1:RFC_FAILURE
    Thanks

  • RFC_ERROR_SYSTEM_FAILURE: Time limit exceeded. Connection Pool - JCO api

    Hi Everyone
    My Connection  Pool parameters JCO api.
    client=300
    user=SISGERAL_RFC
    passwd=******
    ashost=14.29.3.120
    sysnr=00
    size=10
    I have these parameters on my Connection Pool and sometimes appear these wrongs in my application:
    1.
    2006-01-07 13:20:37,414 ERROR com.tel.webapp.framework.SAPDataSource - ##### Time limit exceeded. LOCALIZED MESSAGE = Time limit exceeded. KEY = RFC_ERROR_SYSTEM_FAILURE GROUP = 104 TOSTRING = com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Time limit exceeded.
    2.
    2006-01-07 14:01:31,007 ERROR com.tel.webapp.framework.SapPoolConnectionManager - Timeout
    I’d like to know if is happening.
    Are there something wrong with my connection pool?
    What can be happening?
    Thanks

    Raghu,
    Thanks for your response.
    Yes, the pool connections are in place according to the sAP note mentioned above.
    Regards,
    Faisal

  • Connection Pool Failure

    Hello. I'm using wls 5.1 and Oracle 8i and an unable to make a connection pool. I keep getting the following with the message below. Where and how do I change my path?
    weblogic.common.ResourceException: weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.sql.SQLException: System.loadLibrary threw java.lang.UnsatisfiedLinkError
    'no weblogicoci36 in java.library.path'.
    at weblogic.jdbcbase.oci.Driver.connect(Driver.java:116)

    Hi,
    You need to ensure that the ORACLE_HOME is set and PATH has
    %ORACLE_HOME%\bin;%ORACLE_HOME%\lib;%WL_HOME%\bin\oci816_8 (check verison of
    database) in the server startup script.
    hth
    sree
    "Purvi" <porgie_76@> wrote in message news:3c6306f9$[email protected]..
    Hello. I'm using wls 5.1 and Oracle 8i and an unable to make a connection
    pool. I keep getting the following with the message below. Where and how do
    I change my path?
    weblogic.common.ResourceException: weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.sql.SQLException: System.loadLibrary threw
    java.lang.UnsatisfiedLinkError
    'no weblogicoci36 in java.library.path'.
    at weblogic.jdbcbase.oci.Driver.connect(Driver.java:116)

  • RCA Connection Pool idle Time-Out takes no effect !

    My question description goes here.
    According to JCA specification, I developed my 'ManagedConnectionImpl' class from the interface 'ManagedConnection'. I realize the 'destroy()' function to send out logout request to the EIS.
    Then I deployed the connector in Sun Java System Application Server, I noticed there are two parameters in Connection Pool part, they are:
    1. Idle Timeout. It said it's the maximum time that a connection can remain idle in the pool. I assume the connection will be removed after the specific time expired and before it's removed it will call the recallable function, 'destroy()', in my concrete class, 'ManagedConnectionImpl'.
    2. Pool Resize Quantity. it said it's number of connections to be removed when pool idle time expired.
    I am weird about it. I think EIS had itself session control strategy, if the specific session time-out expired, it will invalidate this session. So I think we will set 'Idle Timeout' in application server to be shorter than the EIS session time-out. If the 'Idle Timeout' in application server expired, it should remove all connections inside otherwise maybe the connection with invalid session will exist! (the background knowledge is our system will return back soap fault when it meets invalid session, so the invalid connections will not be removed by switching on your configuration item, 'On Any Failure')
    So I set "inital and minimum pool size" to 8, "maximum pool size" to 32 and "Pool Resize Quantity" to 32. (I expect AS to remove all when pool idle time expired)
    After deploying, I send out requests at the first round and wait for the time expired but I can't see the desired logout requests from pool automatically even one. Firstly I guess if my recallable function definition is wrong but when I shut down the Application Server, the desired logout requests are sent out from pool automatically. So I think my recallable function definition is workable.
    What's your comments on it?
    P.S.
    I am using Sun Java System Application Server 8.1.
    Thanks in advance!
    BRs
    /Leo

    I have had following test to ensure I sent out notification to listener.
    [#|2005-08-23T16:14:25.061+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    It's in managed env!|#]
    [#|2005-08-23T16:14:25.062+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    enter matchManagedConnections() !|#]
    [#|2005-08-23T16:14:25.062+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    try to find a matching and existing one, reuse it!|#]
    [#|2005-08-23T16:14:25.062+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    Found a matching and existing one, reuse it!|#]
    [#|2005-08-23T16:14:25.495+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    tearDown() is called, the application-level connection is released!|#]
    [#|2005-08-23T16:14:25.496+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    enter calling close() of managed connection.|#]
    [#|2005-08-23T16:14:25.496+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    Start calling close() of managed connection.|#]
    [#|2005-08-23T16:14:25.496+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    start to notify the listener the completeness of connection.|#]
    [#|2005-08-23T16:14:25.496+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
    notify the listener the completeness of connection successfully.|#]
    Whether it's related with the initial and minimum number parameter? Although I found it will not be created during AS start-up and will be created at the first request.
    Whether it shall be kept to meet the minimum requirement? I have failed to set it to 0.

Maybe you are looking for