I have a strange behaviour with ASA 16. We just migrate from ASA 9.0.2 to ASA 16 ( latest EBF ) and we have two applications, both connecting through ODBC. The first written in Powerbuilder 11.5 when insert records in a table, fires trigger and @@rowcount variable in the trigger has the value 1 ( correct ). The second application written in Visual basic 6 when insert records in a table, fires trigger and @@rowcount variable in the trigger has the value 0 ( wrong ). What could be the reason ?
This is my trigger:
ALTER TRIGGER "t_riga_documento_ai" on dba.riga_documento for insert as begin declare @numrows int, @numnull int select @numrows = @@rowcount if @numrows = 0 return
The problem seems to be a connection level properties .
Thanks in advance
I solved !!! The problem was in OLEDB ADO connection. Using CursorLocation = adUseServer ( or default = adUseServer ) it happens that @@rowcount variable, tested inside trigger, assumes zero value.
Changing CursorLocation = adUseClient all works fine.
However it's a ASA 16's behaviour change because same connection made with ASA 9.0.2 worked well,while in ASA 16 have problem.
I hope this experience can help you for the future.
answered 10 Jan '14, 09:29
Hi Breck, I've verified and both connections ( from Powerbuilder and from VB6 ) have chained = ON so autocommit is false. There aren't other trigger on the same table before this one, and the trigger is a standard after - for each statement I'm thinking to a bug... Thanks
answered 09 Jan '14, 02:03