UCCX 5/7 or 8 - Database access - How does the UCCX engine use the DB connection

Unanswered Question
Sep 14th, 2010

I was asked the following question by a customer:

/* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} "How does UCCX manage it’s database connections – a connection pool manager / single connection / single connection for each call"

Does anyone actually know ?  Is it documented anywhere?

Based on how the steps work I'd guess that the UCCX engine makes a new single DB connection each time the DB step reaches out the DB for a read/write. I assume it would do this independently for every instance of a script running.  Hence the importance of the DB release step I'm guessing.

I know in the DB subsystem you can configure the maximum number of DB connections to be used but this doesn't imply how they are used.

I'm not a DB guy, but I think the concern stems from the potential load on a DB server with the constant opening and closing of the DB connections.  I'm assuming that if it used a connection pool the UCCX engine would open, and keep open, a group of DB connections to be used by the UCCX engine. This would lessen the load on the DB server I'm assuming.

Is there any fundamental difference with UCCX 8 and the DB access ?  It obviously not ODBC anymore.  It JDBC right ? But again how does the UCCX engine use the DB connection?

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Jonathan Schulenberg Wed, 09/15/2010 - 03:52

To my knowledge, this is not documented; however, at least through 7.0 the MIVR subsystem will open a pool of ODBC connections equal to the maximum you defined and keep them open. If you set it to 50, you will see 50 open connections on the SQL server. Each script that is triggered will attach to one of the available connections as soon as you use a DB-related step and keep it until you use a DB Release step. Once that script instance releases it, the connection is available for another script.

The behavior should not change with 8.0 as it is the same MIVR subsystem that is doing the work. My first CCX 8.0 project that needs database integration is still about 30 days away so I can't guarantee that though.

hari.kanan Fri, 02/07/2014 - 11:33


did you happen to check about the DB connections it makes from UCCX 8.X. does it make 1 connection or  it depends on the number of connections we define on the Pool.


Gergely Szabo Sat, 02/08/2014 - 08:17


by default, it keeps one connection open and will create new connections when necessary, up to the number defined as the "Maximum number of connections" parameter.


gokila_ss Mon, 02/10/2014 - 03:54


If it keeps only one connection open, then is it not using Connection pooling?

Hi Shantanu nandi,

Could you please confirm this?



This Discussion