Uma ocorrência de erro registrada no DBAccess, por consequência de um erro retornado pelo SGDB, é registrada no log de console (dbconsole.log) e no log de erros (dbaccess.log) no seguinte formato:
Sem Formato |
---|
Error : <sql_native_error> (<sql_state>) (RC= <rc_stat>) - <sgdb_error_description> ( From <dbaccess_proc> )
Thread ID [<thread>] User [<user>] IO [<nnn_ios>] Tables [<open_tables>] MaxTables [<max_open_tables>]
Comment [<thread_observ>] Status [<op_info_str>] SP [<sp_flag> ] Traced [<trace_flag>] InTran [<transacion_flag>]
DBEnv [<database>/<dbenv>] DBThread [<sgdb_thread>] Started [<start_dt>] LastIO [<lastio_dt>] IP [<IP>]
RCV [<rcv_bytes>] SND [<snd_bytes>] TCBuild [<dbaccess_build>]
<SQL_STATEMENT>
[ OPERATION_DETAILS ] |
Uma ocorrência de execução com sucesso, porém houveram informações adicionais relacionadas a execução, é registrada pelo DBAccess como uma ocorrência de advertência. Contém todos os dados da ocorrência de erro, mas é iniciada com "Warning :" ao invés de "Error :".
Sem Formato |
---|
Warning : 598 (01550) (RC=1) - [IBM][CLI Driver][DB2/NT64] SQL0598W O índice existente "DB2ADMIN.SX2T10_PK" é utilizado como o índice para a chave primária ou para uma chave exclusiva. SQLSTATE=01550( From tDBServer::CreateFile )
Thread ID [300] User [Administrador] IO [26] Tables [0] MaxTables [0]
Comment [] Status [] SP [ ] Traced [No] InTran [No]
DBEnv [DB2/MP1217] DBThread [(DB2ID *LOCAL.DB2.151001203809)] Started [01/10/2015 17:38:08] LastIO [] IP [127.0.0.1:1234]
RCV [570] SND [71] TCBuild [20141119]
ALTER TABLE DB2ADMIN.SX2T10 ADD PRIMARY KEY (R_E_C_N_O_) |
Na ocorrência acima, o Bando de Dados DB2 apenas informa que, para acrescentar a chave primária de registro em uma tabela, foi usado um índice já existente que atendia a condição, e não foi criado um índice novo. Este comportamento é o esperado, o índice de chave primária é criado em um momento anterior com uma parametrização específica.
Sem Formato |
---|
Error : 2601 (23000) (RC=-1) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert duplicate key row in object 'dbo.SPED050' with unique index 'SPED050_UNQ'. The duplicate key value is ( , , 0). ( From tISAMFile::Update )
Thread ID [10600] User [Totvs Services SPED Gateway] IO [854] Tables [51] MaxTables [52]
Comment [[JOB_WS] WSServer SOAP REQUEST (NFESBRA:REMESSA3) em 20160413 09:14:51 (running)] Status [] SP [ ] Traced [No] InTran [No]
DBEnv [MSSQL/Sped] DBThread [(SPID: 1171) ] Started [13/04/2016 09:05:19] LastIO [] IP [192.168.5.232:5001]
RCV [100836] SND [407897] TCBuild [20131204]
UPDATE dbo.SPED050 SET D_E_L_E_T_ = ' ',R_E_C_D_E_L_ = 0 WHERE R_E_C_N_O_ = 16375512 |
Na ocorrência acima, uma aplicação Advpl tentou remover um flag de deleção lógica de um registro, porém o SGDB MSSQL utilizado não permitiu a remoção, pois isto violatia a chave única definida para a tabela em questão.
Sem Formato |
---|
Error : -803 (23505) (RC=-1) - [IBM][CLI Driver][DB2/LINUXX8664] SQL0803N One or more values in the INSERT statement,
UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key,
unique constraint or unique index identified by "2" constrains table "DB2.AGL000" from having duplicate values for the index key.
SQLSTATE=23505 ( From tISAMFile::Update )
Thread ID [1140918592] User [juliow] IO [464] Tables [24] MaxTables [24]
Comment [] Status [] SP [ ] Traced [No] InTran [No]
DBEnv [DB2/TOPSSIM] DBThread [(DB2ID: 192.168.3.144.59505.15040614141) ] Started [06/04/2015 11:14:18] LastIO [] IP [192.168.3.76:7059]
RCV [25787] SND [51482] TCBuild [20131204]
UPDATE DB2.AGL000 SET D_E_L_E_T_ = ' ',R_E_C_D_E_L_ = 0 WHERE R_E_C_N_O_ = 5276140 |
A ocorrência acima é praticamente a mesma da anterior – violação de índice de chave única – porém registrada pelo SGDB DB2.