Oracle.DataAccess 2.112.1.0 - connection Pool problem

Hello

Oracle.DataAccess 2.112.1.0 is having problem of connection pool. The no. TCP to Oracle database connections continue to increase until the session of the server to run out of limit. My application created connections, use them, close them and dispose of them properly. When using previous Oracle.DataAccess 2.111.6.20, no. of the TCP connections do not increase.

My database connection string has "Min Pool Size = 3 and Max Pool Size = 150".
With 2.111.6.20 version, TCP connection remains at 3.
With 2.112.1.0, TCP connection continue to increase for all 5 minutes. I tried to disable Auto Tuning, but still can not prevent connections of the increase.

Later today, I downloaded Oracle.DataAccess 2.112.1.2 (it comes with ODAC 11.2.0.1.2) and test again, the problem is solved... no more connection increases... but it's only for 32-bit Windows.

Unfortunately, there is no Oracle.DataAccess 2.112.1.2 for 64-bit Windows Server 2008.

I know how I can solve this problem on 64-bit windows installed with Oracle 11 g R2 client, which comes with Oracle.DataAccess 2.112.1.0, which has serious problems... (according to this 11.2 ODP.NET causing test failures runner )

Thank you very much for your time and your answers!

Published by: user1502907 on Sep / 04/2010 23:01

Hello

The only thing that POPs in the description of your problem is that connections are increased every 5 minutes. Are you sure its every 5 minutes and not 3 minutes, which is the interval of time used by the installation of connection pool to perform maintenance on connection pool. If this happens even when the application is inactive then you could if filed against 11.2.0.1.0 and fixed 11.2.0.1.2 known issue run in what follows.

Bug 9711600 - CONNECTIONS beyond MAX POOL SIZE INCREASE EVERY 3 MINUTES

It is specific to using the CommandBehavior.CloseConnection option when calling execute reader. You are using this option and then also close the connection in code before closing the datareader object, if so you can be hitting this bug. You can also generate a trace ODP at level 15 of the behavior and if you see a negative mix counties, it's also a diagnosis that points to this bug.

This problem is fixed in 11.2.0.1.0 Patch 3 or later version for x 64. If you support, I recommend that you open a service request to check if this is your problem and if a set of patch can help you.

Concerning
Jenny B.

Tags: Database

Similar Questions

  • Could not load file or assembly ' Oracle.DataAccess, Version = 4.112.4.0?

    Hi guys,.

    As the title says "could not load file or assembly ' Oracle.DataAccess, Version = 4.112.4.0. The program crashes when I try to run the following code.

    OracleConnection Con = new OracleConnection (ConfigurationManager.ConnectionStrings ["ConnectionString1"]. (ToString());

    SqlCmd OracleCommand = new OracleCommand();

    OracleDataReader dr;

    sqlCmd.Connection = Con;

    Con.Open ();

    sqlCmd.CommandText = "INSERT INTO ADFG values (0, 0, 0, ' ', sysdate);

    sqlCmd.ExecuteNonQuery ();

    sqlCmd.Clone ();

    MessageBox.Show ("inserted record!");

    Any help would be appreciated.

    Hello

    This occurs generally when there is an inconsistency in the application of ILO version and the version of ODP.NET bits.

    If you compiled/built the application with Any CPU option, please modify X 86 or X 64 and build and run the code.

    Thanks and greetings

    Vincent

    Support of Oracle

  • Release of the ODAC 4 & 5 - Oracle.DataAccess.dll 4.112.3.0

    Has anyone else noticed that ODAC version 4 and 5 have the same 4.112.3.0 AssemblyVersion?

    Oracle (ODAC) for Windows data access components

    It took me a while to spot the problem.  I use Entity Framework 5 and hitting a machine with version 4.  He threw a completely misleading exception on the laundry.

    System.Reflection.TargetInvocationException: Exception was thrown by the target of a call. -> System.TypeInitializationException: the initializer for type for 'Oracle.DataAccess.Client.OracleConnectionStringBuilder' threw an exception. -> System.TypeInitializationException: the initializer for type for 'Oracle.DataAccess.Client.RegAndConfigRdr' threw an exception. ---> System.Configuration.ConfigurationErrorsException: MySchema.MyPackage.MyProcedure.RefCursorMetaData.CUROUT.Column.1 is not valid

    at Oracle.DataAccess.Client.RegAndConfigRdr.AddMetadataForRefCursor (String refCursorKey, String metadataInfo, Hashtable & schemaTable)

    to Oracle.DataAccess.Client.RegAndConfigRdr.RetrieveInfoFromConfig (NameValueCollection nvc, Hashtable & schemaTable, Boolean bIsCallFromODT)

    to Oracle.DataAccess.Client.RegAndConfigRdr... cctor()

    Since version 4 ODAC has been installed, the machine had Oracle.DataAccess.dll (4.112.3.0) in the GAC.  So, my application could not use my local copy of Oracle.DataAccess.dll (4.112.3.0) of version 5.

    There are problems with having the AssemblyVersion similarly for version 4 and 5.  Can we get an extra release with an updated version?

    There are two questions in your last post:

    (1) Oracle.DataAccess.dll versioning

    (2) DLL's Client Oracle unmanaged referenced by Oracle.DataAccess.dll

    The forum post you quote refers to the #2 problem.

    Problem #1, preferred the ODP.NET team is at version every single Oracle.DataAccess.dll version. We can not due to a conflict with the policy of general correction of Oracle. With the help of AssemblyInformationalVersionAttribute is the best compromise.

    If you have already downloaded an Oracle patch, you will notice the files share the same version number as other patches within a family group of patches Oracle. With each new group of patches or major version, Oracle.DataAccess, dll can then increase its version, just like every other DLL of Oracle.

  • Global temporary Tables from Oracle and connection pooling

    When grouping, connection ('maintain connections' in cfadmin) is enabled. Oracle Global Temporary tables is screwed up. Bleeding of a page of data request to another because CF is reusing the same Oracle session over and over again.

    Is there a JDBC driver that will allow the use of global Temp Tables while having enabled connection pooling? 

    Other applications, such as Oracle Application Server servers, somehow allow the pooling and work together harmoniously TWG.

    If your temporary tables created with the default setting of validation remove lines, the cftransaction tag will help you.  Copy the following code:



    insert into t_dan_test values (1)


    Select * from t_dan_test



    Select * from t_dan_test


    a 1 1 x sheet of dumping and x 2 0 dumping.

  • Failure of Oracle.DataAccess.Client on the Prod Server

    Our site Asp.net/Vb.net (.net 4) fails to load when left dev for the production. Works without problems on Dev

    (Dev is Windows 7 32-bit)

    (Production is Server 2008 64-bit)

    Application pool is .NET v4.0, 32-Bit = True, the PipeLine Mode = Integrated

    The site connects to an Oracle 11 g via ODAC 12 c Release 2 (12.1.0.1.2) base the same version has been installed on the Production as well.

    We use TNSNAMES, it has been tested on Production and works.

    What I am doing wrong?

    Below is the error I get.

    Server Error in '/' Application.
    --------------------------------------------------------------------------------

    Unhandled Execution Error
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: Oracle.DataAccess.Client.OracleException:

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

    Stack Trace:


    [OracleException (0x80004005)]
      
    Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable) +1601
      
    Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src) +61
      
    Oracle.DataAccess.Client.OracleConnection.Open() +5329
      cpsweb
    .com.clsDB.Get_DataTable(String sSQL) in D:\SourceVaultLocal\WebSites\cpsweb.com\CPS_Code\clsDB.vb:42
      cpsweb
    .com.clsSec_Security.isVisible(String sPageName, Object& oObj) in D:\SourceVaultLocal\WebSites\cpsweb.com\CPS_Apps\Sec_WebSite\Code\clsSec_Security.vb:50
      cpsweb
    .com._Default.Page_Load(Object sender, EventArgs e) in D:\SourceVaultLocal\WebSites\cpsweb.com\Default.aspx.vb:20
      
    System.Web.UI.Control.OnLoad(EventArgs e) +91
      
    System.Web.UI.Control.LoadRecursive() +74
      
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

    --------------------------------------------------------------------------------

    If it turns out that.  The drivers do not install correctly.

    I added the following key

    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\

    key = 'NLS_LANG.

    value = "AMERICAN_AMERICA. UTF8.

    do you have an iisreset, and of course the site came right up.

  • C# Oracle.DataAccess calling a stored procedure with a date parameter throws formatexception

    C# Oracle.DataAccess CommandType.StoredProcedure is OracleDbType. Date

    I can't get my code to call an oracle procedure that has an order date.

    I receive a System.FormatException occurred in Oracle.DataAccess.dll

    I tried to assign the param. Value = DateTime and also tried assigning as a string formatted with no luck.

    What is the magic formula, I need to call this function?

    Here is a code snippet:

    OracleCommand cmd = new OracleCommand();

    cmd connection group appConn;.

    cmd.CommandText = "mypackage.myprocedure";

    cmd.CommandType = CommandType.StoredProcedure;

    Param = new OracleParameter ("iDateParamter", OracleDbType.Date, ParameterDirection.Input);

    Param. Value = "August 31, 2015."

    Here are other formats I' tried... ved param. Value = myDateValue.ToString ("dd - MMM-yyyy"). ToUpper(); (/ / "MM/dd/yyyy"); 'YYYY-MM-dd'); "MM-dd-yyyy");

    cmd. Parameters.Add (param);

                BindByName. cmd = true;

                cmd ExecuteNonQuery());

    Shame on me..., you can close this message

    It was not for the error on my date field, I had another parameter that has been attributed to a string instead of an integer.

    For the record, this has worked well for me:

    Param = new OracleParameter ("iActvyPerDate", OracleDbType.Date, ParameterDirection.Input);

    Param. Value = li. ActvyPerDate.ToString ("dd-MMM-yyyy"). ToUpper();

  • connection pool and inefficient query plan

    There is a single query that covers almost 90% of cpu DB.

    Select * from employee e, Department d where e.departement_id = d.department_id

    Us will gather statistics for this table in two, and the issues is resolved.

    This occurs every 2 weeks. That said, the query runs fine for 2 weeks and then we have questions... we will bring together the statistics of these two tables... and things are good for another 2 weeks.

    This query is a proc to store oracle pl - sql, which is called by the JDBC code. I introduced 2 months behind connection pooling, and today, we are facing this problem.

    The query has been accounting for 5 years with no problems.

    Before that I presented the connection pool, the jdbc code created a new connection before calling the store proc.

    Do you think that my connection to the connection pool has introduced this problem.

    The DBA tell me that the query runs a bad plan. Oracle recovers not the more effective plan (and that leads to this high CPU utilization).

    I guess that after 2 weeks Oracle begins to pick up plans that are effective in.

    Do you think all that this question never has nothing to do with my connection pooling code.

    I use Oracle 10 G.

    Hi Mike and ground beach thanks for your response.

    It was just a doubt... that you guys allowed.

    Thank you

    m

  • OBIEE 11 g RPD migration - how to automate the Connection Pool passwords changes in environments

    Hello gurus

    We have a situation in our client, where I am responsible for automating RPD Migrations in environments. In our current scenarios, (SID database) data source names and user names (schema name) are same in environments. The current process deploy us the RPD by EM then SPR online by using the administration tool and manually open update passwords in each connection pool (we have 9 pools of connections). There has been a lot of problems with this approach you can imagine (especial when do things the manual way).

    Can you please provide a better approach to automate this process in order to avoid human error.

    Thank you very much.

    Take a look at BIServerT2PProvisioner.jar http://docs.oracle.com/cd/E29542_01/bi.1111/e10540/conn_pool.htm#BHBBDDFF

  • OracleDataAdapter error: unable to cast object of type 'Oracle.DataAccess.Types.OracleDecimal' type 'System.IConvertible '.

    Uses: Oracle9i Standard Edition, ODAC 11.2.0.4, Oracle Instant Client 11.2.0.4

    I am to convert the Microsoft Oracle for Oracle ODP.NET provider of my projects

    * Error *.

    Cannot be cast to type 'Oracle.DataAccess.Types.OracleDecimal' object type 'System.IConvertible '. Could not store < 145982 > in the RECEIPTID column. Type is Int64.

    This error is poped up when my stored Proc has a return parameter. The return is a numeric data type in Oracle. I had no problem when using Oracle Provider from Microsoft.

    Initially, I had my command setting insert the value

    System.Data.OracleClient.OracleType.Number

    for the column RECEIPTID; After ODP.NET, I converted to

    Oracle.DataAccess.Client.OraclDbType.Double

    Then the error throwed upward. Implement

    Oracle.DataAccess.Client.OracleDbType.Int64

    as suggested by the error, but nothing seems to prevent the error a way.

    I am running using the OracleDataAdapter.

    The OracleCommand object initialization *.

    public class ReceiptAccountBusinessTable : EquityBroker32.APP_DATA.config.GenericBusinessTable
            {
                OracleCommand[] nCommandCollection;
    
                public ReceiptAccountBusinessTable()
                {
                    this.Tablename = "JKSBSCHEMA.RECEIPTACCOUNT";
                    this.KeyDBField = "RECEIPTID";
                    this.DefaultSql = string.Format("SELECT * FROM {0} WHERE {1}= (SELECT MAX({1}) FROM {0} )", this.Tablename, this.KeyDBField);
    
                    //select command
                    this.nCommandCollection = new Oracle.DataAccess.Client.OracleCommand[4];
    
                    this.nCommandCollection[0] = new OracleCommand();
                    this.nCommandCollection[0].Connection = this.DataConnection;
                    this.nCommandCollection[0].CommandText = this.DefaultSql;
                    this.nCommandCollection[0].CommandType = System.Data.CommandType.Text;
    
                    //update command
                    this.nCommandCollection[1] = new OracleCommand();
                    this.nCommandCollection[1].Connection = this.DataConnection;
                    this.nCommandCollection[1].CommandText = "JKSBSCHEMA.RECEIPTACCOUNT_ADDCHG_PROC";
                    this.nCommandCollection[1].BindByName = true;
                    this.nCommandCollection[1].CommandType = System.Data.CommandType.StoredProcedure;
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PRECEIPTID", Oracle.DataAccess.Client.OracleDbType.Int64, 10, System.Data.ParameterDirection.InputOutput, false, 10, 0, "RECEIPTID", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PACCOUNTID_NEW", Oracle.DataAccess.Client.OracleDbType.Char, 13, System.Data.ParameterDirection.Input, false, 0, 0, "CLIENTACCOUNTID", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PACCOUNTID_OLD", Oracle.DataAccess.Client.OracleDbType.Char, 13, System.Data.ParameterDirection.Input, false, 0, 0, "CLIENTACCOUNTID", System.Data.DataRowVersion.Original, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PXSACTVALUE", Oracle.DataAccess.Client.OracleDbType.Double, 22, System.Data.ParameterDirection.Input, false, 0, 0, "XSACTVALUE", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PXSACTDESC", Oracle.DataAccess.Client.OracleDbType.Varchar2, 255, System.Data.ParameterDirection.Input, false, 0, 0, "XSACTDESC", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PPAGEBREAK", Oracle.DataAccess.Client.OracleDbType.Int32, 22, System.Data.ParameterDirection.Input, false, 0, 0, "PAGEBREAK", System.Data.DataRowVersion.Current, null));
    
                    //insert command
                    this.nCommandCollection[2] = new OracleCommand();
                    this.nCommandCollection[2].Connection = this.DataConnection;
                    this.nCommandCollection[2].CommandText = "JKSBSCHEMA.RECEIPTACCOUNT_ADDCHG_PROC";
                    this.nCommandCollection[2].CommandType = System.Data.CommandType.StoredProcedure;
                    this.nCommandCollection[2].BindByName = true;
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PRECEIPTID", Oracle.DataAccess.Client.OracleDbType.Int64, 10, System.Data.ParameterDirection.InputOutput, false, 10, 0, "RECEIPTID", System.Data.DataRowVersion.Proposed, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PACCOUNTID_NEW", Oracle.DataAccess.Client.OracleDbType.Char, 13, System.Data.ParameterDirection.Input, false, 0, 0, "CLIENTACCOUNTID", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PACCOUNTID_OLD", Oracle.DataAccess.Client.OracleDbType.Char, 13, System.Data.ParameterDirection.Input, false, 0, 0, "CLIENTACCOUNTID", System.Data.DataRowVersion.Original, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PXSACTVALUE", Oracle.DataAccess.Client.OracleDbType.Double, 22, System.Data.ParameterDirection.Input, false, 0, 0, "XSACTVALUE", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PXSACTDESC", Oracle.DataAccess.Client.OracleDbType.Varchar2, 255, System.Data.ParameterDirection.Input, false, 0, 0, "XSACTDESC", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PPAGEBREAK", Oracle.DataAccess.Client.OracleDbType.Int32, 22, System.Data.ParameterDirection.Input, false, 0, 0, "PAGEBREAK", System.Data.DataRowVersion.Current, null));
    
                    //delete command
                    this.nCommandCollection[3] = new OracleCommand();
                    this.nCommandCollection[3].Connection = this.DataConnection;
                    this.nCommandCollection[3].CommandText = "DELETE FROM " + this.Tablename + " WHERE RECEIPTID=:p1 AND ACCOUNTID=RPAD(:p2,15)";
                    this.nCommandCollection[3].CommandType = System.Data.CommandType.Text;
                    this.nCommandCollection[3].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("p1", Oracle.DataAccess.Client.OracleDbType.Int64, 22, System.Data.ParameterDirection.Input, false, 0, 0, "RECEIPTID", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[3].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("p2", Oracle.DataAccess.Client.OracleDbType.Char, 15, System.Data.ParameterDirection.Input, false, 0, 0, "ACCOUNTID", System.Data.DataRowVersion.Current, null));
    
                    this.CommandCollection = this.nCommandCollection;
                }
            }
    

    * The glance of the stored Proc *.

    PROCEDURE RECEIPT_ADDCHG_PROC
        (
        preceiptid IN OUT NUMBER,
        preceiptmode IN CHAR,
        pxsactdate IN DATE,
        pxsactvalue IN NUMBER,
        pbankaccountid IN VARCHAR2,
        pchequeno IN VARCHAR2,
        pclientbankid IN VARCHAR2,
        pdescription IN VARCHAR2,
        pstatementno in varchar2 default null,
        pcustodypayment IN NUMBER)
        is
        nrow number;
        begin
    
        --check if posted
        SELECT COUNT(*) INTO nrow from accountledger
        WHERE receiptid = preceiptid;
    
        IF nrow > 0 THEN
          RAISE_APPLICATION_ERROR(-20001, 'Record Already Posted');
        END IF;
    
        UPDATE Receipt
          Set pmodeid = preceiptmode,
          xsactdate = pxsactdate,
          xsactvalue = pxsactvalue,
          bankaccountid = pbankaccountid,
          chequeno = pchequeno,
          clientbankid = pclientbankid,
          description = pdescription,
          statementno = pstatementno,
          custodypayment = pcustodypayment
        WHERE receiptid = preceiptid;
    
        IF (SQL%NOTFOUND) THEN
          INSERT INTO RECEIPT(receiptid,
                              pmodeid,
                              xsactdate,
                              xsactvalue,
                              bankaccountid,
                              chequeno,
                              clientbankid,
                              description,
                              statementno,
                              custodypayment
                              )
          VALUES(preceiptid,
                  preceiptmode,
                  pxsactdate,
                  pxsactvalue,
                  pbankaccountid,
                  pchequeno,
                  pclientbankid,
                  pdescription,
                  pstatementno,
                  pcustodypayment
                  ) RETURNING receiptid into (preceiptid);
        END IF;
    
        end;
    

    * It's how I update the Table *.

    public void UpdateData(DataTable tbl, Oracle.DataAccess.Client.OracleTransaction oTran)
                {
                    try
                    {
                        SetTransaction(oTran);
                        this._adapter.Update(tbl);
                        //this was added on 03-Aug-2011
                        tbl.AcceptChanges();
                    }
                    //handling concurrency problem
                    catch (DBConcurrencyException dbcx)
                    {
                        MessageBox.Show(CreateMessage(dbcx.Row), "Concurrency Exception", MessageBoxButtons.YesNo);
                    }
                    catch (OracleException ex)
                    {
                        throw ex;
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
    
                }
    

    * The said Stack Trace *.

    at System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors (Int32 commandCount RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo [batchCommands])
    at System.Data.Common.DbDataAdapter.UpdatedRowStatus (Int32 commandCount RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo [batchCommands])
    to System.Data.Common.DbDataAdapter.Update (DataRow [] dataRows, DataTableMapping tableMapping)
    to Oracle.DataAccess.Client.OracleDataAdapter.Update (DataRow [] dataRows, DataTableMapping tableMapping)
    at System.Data.Common.DbDataAdapter.UpdateFromDataTable (DataTable dataTable, DataTableMapping tableMapping)
    at System.Data.Common.DbDataAdapter.Update (DataTable dataTable)
    at EquityBroker32.APP_DATA.config.GenericBusinessTable.UpdateData (DataTable tbl, OracleTransaction oTran) in d:\REVERSION\Latest\APP_DATA\config\GenericBusinessTable.cs:line 293

    This is found!

    I add the following code to my existing and it worked!

    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PRECEIPTID", Oracle.DataAccess.Client.OracleDbType.Double, 10, System.Data.ParameterDirection.InputOutput, false, 10, 0, "RECEIPTID", System.Data.DataRowVersion.Current, null));
    this.nCommandCollection[1].Parameters["PRECEIPTID"].DbType = DbType.Decimal;
    

    Thanks to this site and the person who answered: .Net technology: find a sequence of a S-P with typed DataSet problem - dotnet - tech.todaysummary.com

  • NLS parameters in a connection pool environment

    I have limited experience of localization/globalization and I am building an application, using Oracle APEX 4.2/Oracle 11 g db, which takes care of several users of different nationalities.  I have a specific question, but first... can anyone recommend good books, blogs and websites to learn more about best practices for the many things you need to think in this area?

    Second, my precise question is... Since my application will use a connection pool, how it works as far as setting the NLS parameters for a given client session?  In the typical client/server architecture that I know that you would simply change the NLS parameter when the user connects, and this change would govern just the session of this user database.  It's a different approach when we are in an environment of connection pool?  If this is not the case, how Oracle now manages the parameters of the client session this session of customer may engage in more than one session of db in its lifetime?

    You can set the runtime: http://docs.oracle.com/cd/E16655_01/appdev.121/e17961/global_primary_lang.htm#HTMDB14002

    Thank you

    Sergiusz

  • x 64 application entity Framework using Oracle.DataAccess.Client

    I am trying to build a x 64 application Entity Framework using the current Oracle.DataAccess.Client.  I can launch the application as Any CPU and x 86 using the managed provider, but when I compile for x 64, I get the error below when running. If I change the provider to Oracle.ManagedDataAccess.Client it works with x 86 and x 64 compiler.  Unfortunately, we are unable to use the managed provider until the xml is supported.  I have two clients x 86 and x 64 installed.  Any ideas?

    System.Data.EntityException was not handled

    HResult =-2146233087

    Message = the underlying provider failed to open.

    Source = System.Data.Entity

    StackTrace:

    at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf (Boolean openCondition, storeConnectionToOpen of DbConnection, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean & closeStoreConnectionOnFailure)

    at System.Data.EntityClient.EntityConnection.Open)

    at System.Data.Objects.ObjectContext.EnsureConnection)

    to System.Data.Objects.ObjectContext.SaveChanges (SaveOptions options)

    at System.Data.Entity.Internal.InternalContext.SaveChanges)

    at System.Data.Entity.Internal.LazyInternalContext.SaveChanges)

    at System.Data.Entity.DbContext.SaveChanges)

    at EntityFramework1.EFTest.AddItem (c:\TFS2012\AD). NYSAS. ICPC\DEV\M01\EntityFramework1\EntityFramework1\EFTest.cs:line 21

    at EntityFrameworkConsole.Program.Main (String [] args) in c:\TFS2012\AD. NYSAS. ICPC\DEV\M01\EntityFramework1\EntityFrameworkConsole\Program.cs:line 12

    at System.AppDomain._nExecuteAssembly (RuntimeAssembly assembly, String [] args)

    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly)

    at System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

    at System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

    at System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Threading.ThreadHelper.ThreadStart)

    InnerException: Oracle.DataAccess.Client.OracleException

    HResult =-2147467259

    Message =""

    ErrorCode =-2147467259

    StackTrace:

    at Oracle.DataAccess.Client.OracleException.HandleErrorHelper (Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx * pOpoSqlValCtx, ByVal src, String procedure, Bcheck Boolean, Int32 isRecoverable)

    at Oracle.DataAccess.Client.OracleException.HandleError (Int32 errCode, OracleConnection conn, IntPtr, Object src opsErrCtx)

    at Oracle.DataAccess.Client.OracleConnection.Open)

    at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf (Boolean openCondition, storeConnectionToOpen of DbConnection, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean & closeStoreConnectionOnFailure)

    InnerException:

    Here is my web.config (less sensitive information):

    <? XML version = "1.0" encoding = "utf-8"? >

    < configuration >

    < configSections >

    < section name = "EF" type = "System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, Entity Framework, Version = 5.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' requirePermission ="false"/ >"

    < / configSections >

    < Entity Framework >

    < defaultConnectionFactory type = "System.Data.Entity.Infrastructure.LocalDbConnectionFactory, Entity Framework" >

    < Parameters >

    < setting = "v11.0" / >

    < / Parameter >

    < / defaultConnectionFactory >

    < / Entity Framework >

    < connectionStrings >

    < add name = 'Entities' connection string connectionString="metadata=res://*/Models.EFEntities.csdl|res://*/Models.EFEntities.ssdl|res://*/Models.EFEntities.msl;provider=Oracle.DataAccess.Client;provider = & quot; data source = DATASOURCE; password = PASSWORD; persist info security = True; user ID = username & quot; "" ProviderName "/ >

    < / connectionStrings >

    < / configuration >

    Alex,

    Finally, we have solved the problem.  It turns out that we had a bad x 64 home path in the PATH variable.  I lost track of what it was originally, but I'm sure the x 64 bin path was correct. I did not notice that it was wrong, until I tried to install the full client and began to see an error indicating that it was missing a dll.  This led me to a post on the forum, in which you indicated that the PATH variable has not been set (ODAC 12 c for xcopy issues).  In our case, it is not missing, just fake.

    This is the behavior that we see if the PATH variable for the home directories and bin is incorrect:

    • Full client: an error of external system (no exceptions).  The error message is that the oraons.dll is missing.
    • XCOPY customer: generates an exception without error message.  The Exception.Message property is empty and there is no inner exception.

    Can the ODP team can add a meaningful message for this exception?  If the exact error cannot be highlighted during execution, a generic name on the path audit would help enormously.  I must have looked at it a dozen times and didn't notice that it was false.  If I had no idea that this could be the cause, it would be discussed more in detail, or had someone else Verify that it was correct.  I hope that we would have solved much earlier.

    Thank you.

  • SQL Plugin - connection pool &amp; retries

    People-

    We use vCO workflows which a lot of CRUD operations on the database. In light of these are long-running workflows with a decent amount of load, we want to make sure that this solution we have in place is efficient and reliable. To this end:

    1. we want to ensure that we are able to reuse the database connections - y at - it the notion of Pools of connections or equivalent.

    2 How about reconnecting to the db when it falls down? Is that something it will take the code in the workflow through say managers of exceptions etc..

    I'm sure that others have encountered similar problems - would appreciate all comments that you may have.

    See you soon.

    Hello

    Unfortunately does not support the plugin SQL connection pooling. We have never considered it. We will discuss it and may include in the next version of the plugin update.

    Regarding your second question - we don't keep connection open for a long time and call evry DB is atomic. When you run workflows CRUD a new conncetion is created, the corresponding SQL query is executed / clerk and the connection is closed. If there is a problem, as the disconnection of the server Oracle, the right way to ensure that your operation has passed is to write a custom error handling by using the Scripting of the Orchestrator features. In pseudo-code:

    var hasPassed = false;
    for (i = 0; i< maxretries="" -1="" &&="" !haspassed="" ;="" i++)="">

    hasPassed = false;

    try {}

    Execute the statement using the JDBC API exposed or by using CRUD actions

    hasPassed = true;

    } catch (error) {}

    Save the problem

    }

    }

    Hope this helps you. Any additional comments will be great.

    Best regards

    Boyan

  • the connection of WebLogic connection pool timeout issue too soon

    We are having a problem with the connection to weblogic pool. Our web application is based on the Spring Framework, deploy to Weblogic using the data source to connect to Oracle. We use a duration of 1 min and max setting of connection pool 15 on weblogic. But the problem that we face is that the pool does not manage any connection as a pool. Each request makes a new connection to the Oracle server and right closed within a few seconds of connection. The number of new connections could be easily up to more than 100 within 10 minutes.

    Is there a timeout parameter to check the living connection? Could someone please share your thoughts how to solve the problem? Your help is really appreciated.

    Framework Spring (2.5.3), Weblogic (10.3), Oracle (11 g 2)

    This is the setting on our data source:

    -----------------------
    Driver class: oracle.jdbc.OracleDriver

    Initial capacity: 30
    Maximum capacity: 30
    Ability to increment: 1
    Type of instruction Cache: LRU
    Statement Cache Size: 10

    Test the connections on the reserve: checked
    Test frequency: 120
    Name of the test Table: SQL SELECT 1 FROM DUAL
    Seconds to trust an idle connection pool: 10
    Reduce the frequency: 900
    The login retry frequency: 0
    Connect time: 0
    Timeout:0 connection inactive
    Maximum pending connection: 2147483647
    Timeout:10 store login
    Reporting deadline:-1
    Ignore the connections in use: checked
    Pins-wire: unchecked
    Remove Infected connections Enabled: checked
    ---------------------
    Of the tracking tool, we have seen the following statistics:

    Average number of active connections: 0
    Current number of active connections: 0
    High number of active connections: 1
    Total number of connections: 1523
    Current capacity: 1
    Doesn't have a number of requests for reserve: 46
    More high Num available: 30
    Number of connections leak: 0
    Wait for the high number of seconds: 0
    Number of requests for reserve: 1531

    Other parameters are all 0.

    --------------------------
    For the adjustment of the spring:

    < bean id = "ourdatasource" class = "org.springframework.jndi.JndiObjectFactoryBean" >
    < property name = "jndiName" > < value > weblogic.datasource < / value > < / property >

    <!-adds the following to the question if debugging caused by cluster or not->
    < property name = "cache" value = "false" / >
    < property name = "lookupOnStartup" value = "false" / >
    < property name = "proxyInterface" value="javax.sql.DataSource"/ >
    < / bean >

    Try to uncheck ' delete infected enabled connections "and let me know...

  • Could not load file or assembly Oracle.DataAccess

    I have a VB.Net application that worked fine on a Windows 2003 32-bit secure server for many months. Exe has already been compiled on a 32-bit Vista machine and then the exe has been copied to the server. Today, I was delivered a new 64-bit Windows 7 computer. I installed the 32 bit ODAC 11.2.0 and added a reference to Oracle.DataAccess.dll in Visual Studio 2010. The program compiles and runs normally on my 64 bit Windows 7 computer. In Visual Studio 2010, I 'CPU target' defined on x 86.

    When I copy the exe on the 32-bit server, the following error message is returned: "could not load file or assembly Oracle.DataAccess.

    The server has two facilities of ODAC 32bits, 11.2.0.2 and 10.2.0. Why does this work?

    Published by: Francis November 1, 2012 13:02

    It's been awhile that I'm on version issues, so I'm a little fuzzy, but I think the problem here is that you develop against a newer version (even if only a little) of the Assembly, that which exists on the deployment target computer. There are policy files to redirect the old versions of the assembly to the latest version installed on the computer, but it does not work to redirect a newer version (i.e. 2.112.2.0) downwards (i.e. 2.112.1.0).

  • Data DRCP connection pooling resident

    Hello

    I have a quesiton form SR

    Please confirm do you use DRCP "database resident connection pool?


    How can I determine if DRCP is enabled in my environment

    Could someone help. It's urgent

    Thank you
    Prasad

    Salvation;

    It is better to ask the Oracle support?

    Please see:
    How the program installation and database resident connection Trace pooling (DRCP) [ID 567854.1]
    Example of grouping (DRCP) usage [ID 577865.1] resident of database connection

    Respect of
    HELIOS

Maybe you are looking for

  • Program freezes

    I use Firefox 5. Sometimes it freezes (I can turn off only).Firefox 6 can solve this problem, but I am very interested by using 1Password add-on, which is not compatible with Firefox 6.Until this conflict is resolved, I would like to REINSTALL Firefo

  • "a network error has occurred" problem with YouTube

    For the last few days (since the last update), I had the problem "a network error occurred" with YouTube. It affects when I try to access my youtube account stuff (subscriptions, my own videos, etc.). So, what's up with that?

  • HP psc 1350 more: printer hp psc 1350 more

    Have Windows 7. Connect the HP 1350 starter pack. Have poor quality printing. You must use the programs HP Print and Scan doctor to clean the cartridge head. Operations are disabled what to do? Thank U.

  • Logic combination

    I want to do the comparison and logical combination in Labview. Please refer below drawing Above design provide us 250 point set and using reading 14 compare and choose specific given set point as the reading as in 38.2 + 54.3 75.8 + 81.7 plus 250 ac

  • Screen saver is not working - option is grey clear 'none '.

    The screen saver keeps going back to zero and is light gray color.  I keep trying to click on the bubbles or something else, and it keeps going back to zero. Y at - it suggestions of what I should do?