(1) You can look for these keywords in the tms.log file for DB related errors.
ADO Error
DB ERROR
Error code
Unhandled Exception
UNHANDLED ERROR
ACCESS_VIOLATION
This is an example.
06/03/24 14:02:34.702 7 1e64 t: IN 'OLEDB::Open CS' db: 9f1aa54
06/03/24 14:02:34.702 7 1e64
DB ERROR
code [14106]: Couldn't open the database
hr [80004005]: Unable to retrieve error details! (GetDBErrors)
in: CDBConnection::OpenCS->FAILED(hr)
cs: Provider=IBMDADB2;Data Source=APDB;UID=db2con01;PWD=******;CurrentSchema=db2con01;
db:9f1aa54; base4base:9f1aa28;
/DB ERROR
06/03/24 14:02:34.702 7 1e64 t:0 OUT 'OLEDB::Open CS' db:9f1aa54
06/03/24 14:02:34.702 5 1e64 db message:<!Retrying call!> couldn't reconnect - waiting for 3000; timers:0;0.1;1;3 current(3): 3000 [db:9f1aa54]
06/03/24 14:02:35.114 7 1e54
DB ERROR
code [14107]: Couldn't open recordset
hr [8004d01c]: SQL30081N 通信エラーが検出されました。 使用された通信プロトコル:"TCP/IP"。 使用している通信 API: "SOCKETS"。 エラーが検出されたロケーション: "1111"。 エラーを検出した通信関数:"recv"。 プロトコル固有エラー・コード: "*"、"*"、"0"。 SQLSTATE=08001
; SQLState is 40003 [Error code :-30081]
in: CDBConnection::Execute
cs: Provider=IBMDADB2;Data Source=APDB;UID=db2con01;PWD=******;CurrentSchema=db2con01;
db:a30e50c; base4base:a30e4e0;
/DB ERROR
06/03/24 14:02:35.114 5 1e54 releasing recordset things
06/03/24 14:02:35.114 5 1e54 db message:<!Retrying call!> attempting to handle situation: cause:14107 hr:8004d01c; timers:0;0.1;1;3 current(0): 0 [db:a30e50c]
06/03/24 14:02:35.114 5 1e54 db message:<!Retrying call!> couldn't handle the unknown [db:a30e50c]
06/03/24 14:02:35.114 7 1e54 c:09f634d0 u:datacaprunner s:RR3.6 </method 'GetBatchAttr' concurrent:6 t:1047 total:1047>
06/03/24 14:02:35.114 7 1e54 c:09f634d0 u:datacaprunner s:RR3.6 <method 'SetErrorMessage' session='1c2c.9f634d0.8031a30.f84.28f7ab' remote session='aTM.1fd4.7e1420.1ab0790.7d4.2afc93' concurrent:6>
06/03/24 14:02:35.115 7 1e54 c:09f634d0 u:datacaprunner s:RR3.6 </method 'SetErrorMessage' concurrent:6 t:0 total:0>
06/03/24 14:02:35.116 7 1e54 c:09f634d0 u:datacaprunner s:RR3.6 <method 'ReleaseBatch' session='1c2c.9f634d0.8031a30.f84.28f7ab' remote session='aTM.1fd4.7e1420.1ab0790.7d4.2afc93' concurrent:6>
06/03/24 14:02:35.116 8 1e54 c:09f634d0 u:datacaprunner s:RR3.6 Calling ReleaseBatch with requested status 'aborted'
06/03/24 14:02:35.117 7 1e54
DB ERROR
code [14107]: Couldn't open recordset
hr [80004005]: Unable to retrieve error details! (GetDBErrors)
in: CDBConnection::Execute
cs: Provider=IBMDADB2;Data Source=APDB;UID=db2con01;PWD=******;CurrentSchema=db2con01;
db:a30e50c; base4base:a30e4e0;
/DB ERROR
06/03/24 14:02:35.117 5 1e54 releasing recordset things
06/03/24 14:02:35.117 5 1e54 db message:<!Retrying call!> attempting to handle situation: cause:14107 hr:80004005; timers:0;0.1;1;3 current(0): 0 [db:a30e50c]
06/03/24 14:02:35.117 5 1e54 db message:<!Retrying call!> couldn't retry - waiting for 0; timers:0;0.1;1;3 current(0): 0 [db:a30e50c]
06/03/24 14:02:35.117 5 1e54 db message:<!Retrying call!> attempting to reconnect [db:a30e50c]
06/03/24 14:02:35.117 7 1e54 t: IN 'OLEDB::Open CS' db: a30e50c
06/03/24 14:02:35.117 5 1e54 m_db.m_spInit->Uninitialize() failed db: a30e50c
06/03/24 14:02:35.118 7 1e54
(2) Also, you can look for this connection warning in tms.log
11/25/24 11:12:36.729 0 370 CSocketServer::AllocateSocket no free sockets: making new socket 14a82790 for SOCKET 2a48
11/25/24 11:12:36.729 5 370 ++CONNECTION: 1000: 151df998
11/25/24 11:12:36.729 7 370 c:151df998 u: s: --- vvv --- new connection 151df998 --- vvv ---
11/25/24 11:12:36.729 9 370 !WARNING! maximum number (1000) of allowed connections reached. Not accepting until some clients disconnect.
11/25/24 11:12:36.730 1 370 WSAAccept success: per-connection data is live [socket:2a48; Socket object:14a82790]...
When you see this "max connections" warning, the TMS server is rejecting new connection requests. In that case, increase the following registry value to allow more concurrent connections:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Datacap\TMS\InterThread\Max Connections
Set it to a higher number. I think the maximum is 9,999, which matches the per-station limit.
After changing the registry (REG_DWORD, Decimal), restart the Datacap Taskmaster Server (TMS) service.
(3) Also you may check wTM.log for this error message.
15:04:45.821 t:2F08 p:4EDB708 T: 22 wTmId: 6620c4e1-9738-4a0a-8fe2-3de2b8c1bcb2 Message: GetBatchList leave
15:04:46.219 t:50A0 p:4EDB708 T: 13 wTmId: d6aeeaf6-da75-4736-8395-e70518621553 Message: GetBatchList enter, application: AP16 pageSize: 9999 pageIndex: 1
15:04:46.219 t:50A0 p:4EDB708 T: 13 wTmId: d6aeeaf6-da75-4736-8395-e70518621553 Message: Creating new aTM object
15:04:46.240 t:50A0 p:4EDB708 T: 13 wTmId: d6aeeaf6-da75-4736-8395-e70518621553 Message: Logon returned false. application: AP16, user: , station:
15:04:46.241 t:50A0 p:4EDB708 T: 13 wTmId: d6aeeaf6-da75-4736-8395-e70518621553 Message: Error: The login to the application: AP16, user: , station: failed.
15:04:46.242 t:50A0 p:4EDB708 T: 13 wTmId: d6aeeaf6-da75-4736-8395-e70518621553 Message: SetWTMRC: 6705
15:04:46.242 t:50A0 p:4EDB708 T: 13 wTmId: d6aeeaf6-da75-4736-8395-e70518621553 Message: GetBatchList leave
(4) You can also see the connection count in wTM.log
10:28:18.927 t:4678 p:1F189E78 T: 46 wTmId: 6b657e50-06f1-4f16-9a70-26ea52969135 Message: GetBatchList leave
10:30:06.813 t:3BD0 p:1F189E78 T: 10 Message: DataStore.MindTheStore - Checking for expired sessions. Total session count: 711
10:30:06.815 t:3BD0 p:1F189E78 T: 10 Message: DataStore.MindTheStore - Removing object from store with id ad4a0ab6-ac0e-4ff6-b9b5-674995c4070d
10:30:06.815 t:3BD0 p:1F189E78 T: 10 Message: Close aTM object
------------------------------
dsakai
------------------------------