Olá Paulo !
De uma olhada na propriedade Buffermodeoverride do CA e faça um teste.
Também estou migrando uma aplicação com uso de CA fiz um teste parecido com o seu executando um rollback
e funcionou , usei apenas uma tabela e depois do replace executei o tableupdate(), o RollBack e os dados não foram atualizados no SQL Server !
t+
>Estou usando o CA e SQL Server, e querendo executar um ROLLBACK
>
>Mesmo emitindo um
>
>
>SET MULTLOCKS ON
>=CURSORSETPROP('Buffering,5)
>Begin Transaction
>
> Comandos...
> lUp = TableUpdate(.T.)
> comandos..
> lUp = TableUpdate(.T.)
> update
> lUp = TableUpdate(.T.)
> replacae
> lUp = TableUpdate(.T.)
> etc...
>
>ROLLBACK
>
>
>Quando este mesmo codigo em tabelas do VFP funciona, perfeitamente. O SQL Server não trabalha com as transações do VFP ?
>
>Para funcionar estou guardando o Objecto Connection do meu CA, em uma propriedade da _screen
>
>e usando :
>
>
>_screen.oConn.BeginTrans
> Comandos...
> lUp = TableUpdate(.T.)
> comandos..
> lUp = TableUpdate(.T.)
> update
> lUp = TableUpdate(.T.)
> replacae
> lUp = TableUpdate(.T.)
> etc...
>
>_screen.oConn.RollbackTrans
>
>
>Esta é a forma correta de se trabalhar ?