Jump to content


< Back to Forum


 

Database Connection Problems.


  • Please log in to reply

#1 Maciej 22 September 2015 - 04:51 PM

We have from several days database connection problems. 

 

Can You help to recognize source of problem?

 

example: connection on channel 7 (19   7)  on the end of log file 

 

081200.175  24  19   7 ERROR v7.4.5536.24656 (27-Feb-15 13:41:52.12) ConnectAndRun_Odbc init : ERROR [08001] Could not connect to the server;
Could not connect .. timeout occured.
 
   w System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   w System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
   w System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
   w System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   w System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   w System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
   w System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   w System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   w System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   w System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   w System.Data.Odbc.OdbcConnection.Open()
   w (Object )
   w ..()
081200.175  24  19   7       db    completed.  SqlQueryType=ERROR, RowsCount=0, sRv=
081200.175  24  19   7       db    completed. script is now in differnt module (Hangup the Call 1 (412) != store position (229) ) path selection aborted
 
 
after store position module script should to go to next module like:
 
 
081150.923   4  34  12       db    completed. iRunWait=1, WavPlayWasStarted=0, WavPlayHasNowFinished=0
081150.923   4  34  12       db    completed. iRowsAffected=1
081150.924   4  34  12       FindNextVgmTitleInPathList: next module title is=[jeszcze czekamy]
081150.924   4  34  12       RunModule_AddToTaskQueue [Evaluate,[jeszcze czekamy],321]
 
 
but vg has hole between 
081145.074   9  19   7       db    odbc  query completed.
 
and next event:
 
081154.069  21  19   7 ev    dtmf #   (41943157,35,0) ConfOtherLeg=-1
why vg stopping process?
 
 
 
 


#2 SupportTeam 22 September 2015 - 10:32 PM

 

Can You help to recognize source of problem?

 

example: connection on channel 7 (19   7)  on the end of log file 

 

081200.175  24  19   7 ERROR v7.4.5536.24656 (27-Feb-15 13:41:52.12) ConnectAndRun_Odbc init : ERROR [08001] Could not connect to the server;
Could not connect .. timeout occured.

 

 
The error is returned by the ODBC driver (looks like a PostgreSQL Unicode ODBC driver).
The ODBC log files may give more information as to why that ODBC driver has returned that error.
 

 

but vg has hole between 
081145.074   9  19   7       db    odbc  query completed.
 
and next event:
 
081154.069  21  19   7 ev    dtmf #   (41943157,35,0) ConfOtherLeg=-1
why vg stopping process?

 

Between 08:11:45 and 08:11:54 VoiceGuide is not doing anything on port 7 as it is just awaiting the ODBC query response. (ODBC driver responds with an error 6 seconds later, at 08:12:00)
 
 
after store position module script should to go to next module like:

 

The system is waiting for Database query to return. Default 30 seconds timeout is used. If you would like the timeout path to be shorter then set a timeout path in that module. Another approach would be to just select "Do not wait for SQL Query to complete" option in that module.
 
 
Caller presses # after 9 seconds and hangs up after waiting for 11 seconds:
 
    Line 145: 081145.072   7  19   7 state [store position] DB Query
    Line 146: 081145.072   7  19   7       rv    replace start [$RV[db_connect]]
    Line 147: 081145.072   7  19   7       rv    replace end   [ODBC; Driver=PostgreSQL Unicode; Server=IP; Port=5432; Database=11;UID=user;PWD=pass;]
    Line 148: 081145.072   7  19   7       rv    replace start
    Line 153: 081145.072   7  19   7       rv    replace end   [UPDATE polaczenia   SET kol5=(SELECT             CASE                WHEN kol5 IS NULL                THEN '4'                ELSE kol5            END),  kol4='4'  WHERE session_id='ID20150922080655227'
    Line 155: 081145.072   7  19   7       db    strDatabaseName=[] strDbConnectString=[ODBC; Driver=PostgreSQL Unicode; Server=IP; Port=5432; Database=11;UID=user;PWD=pass;] sAdoNetFactoriesAvailable=[|System.Data.Odbc|System.Data.OleDb|System.Data.OracleClient|System.Data.SqlClient|System.Data.SQLite|Npgsql|]
    Line 156: 081145.072   7  19   7       db    did not find ado.net data provider :
    Line 157: 081145.072   7  19   7       db    PlayOnHoldFile
    Line 158: 081145.072   7  19   7       moh file not specified
    Line 159: 081145.072   7  19   7       db    using ado.net ODBC data provider : OdbcConnection/OdbcCommand/etc
    Line 160: 081145.072   7  19   7       db    suggested ODBC connect string format if System DSN defined: DSN=ddd;Uid=xxx;Pwd=yyy;
    Line 161: 081145.072   7  19   7       db    odbc  RunQuery_Odbc [store position], db=[], connect=[ Driver=PostgreSQL Unicode; Server=IP; Port=5432; Database=11;UID=user;PWD=pass;], sql=[UPDATE polaczenia   SET kol5=(SELECT             CASE                WHEN kol5 IS NULL                THEN '4'                ELSE kol5            END),  kol4='4'  WHERE session_id='ID20150922080655227'
    Line 163: 081145.073   7  19   7       db    odbc  thread init (threadpool)
    Line 164: 081145.073   7  19   7       db    odbc  thread started (threadpool)
    Line 165: 081145.073   7  19   7 t     timer set   30 sec : EV_TIMEOUT_HANGUP
    Line 166: 081145.073  24  19   7       db    odbc  connection create call. m_strOdbcConnectString= Driver=PostgreSQL Unicode; Server=IP; Port=5432; Database=11;UID=user;PWD=pass;
    Line 167: 081145.073  24  19   7       db    odbc  connection open call.
    Line 168: 081145.074   9  19   7       db    odbc  query completed.
    Line 3446: 081154.069  21  19   7 ev    dtmf #   (41943157,35,0) ConfOtherLeg=-1
    Line 3447: 081154.069  21  19   7       q_scr +     evScriptEvent 35 #
    Line 3448: 081154.069   7  19   7       q_scr run   evScriptEvent sCode=[#] iActionID=0, crn=0 [0|0|0|0|0][|||||] 00:00:00 max:4|00:00:00.0270015
    Line 3449: 081154.069   7  19   7       se    # 35  0|0|0  || LineState=LS_DBQUERY
    Line 3450: 081154.069   7  19   7       LsDbQuery #,#
    Line 4138: 081156.642  21  19   7 ev    CallState GCEV_DISCONNECTED, crn=2800075, iEvent=0 ,16384,0,64, s1:, s2:, s3:]. build_date: 27-Feb-15 13:41:52.12
 
There seems to be a repeated issues with the PostgreSQL ODBC setup. Have you tried using MySQL or MSSQL instead of PostgreSQL or trying to access PostgreSQL through a different driver?