Cambio Autocommit dinámicamente

Tengo un problema con el uso de application role de SqlServer desde power builder. La cosa es más o menos así, para poder correr exitosamente el SP set_AppRole la tansacción de conexión a la base de datos debe estar con el AutoCommit=True, pero por necesidad de tener posibilidad de Rollback, necesito cambiar el Autcommit=False para la conexión ya establecida. ¿De ser posible de que forma se debe hacer? ¿O necesariamente debo desconectarme y volverme a conectar para cambiar el Autocommit?, porque de ser necesario esto último, se me desactivará el rol aplicado mediante el sp_setapprole lo cual me llevaría a un círculo vicioso.
Desde ya muy agradecido por la respuesta.
Manuel

1 Respuesta

Respuesta
1
Prueba lo siguiente:
*Despues de conectarse al SP set_AppRole con Autocommit=true, al final del codigo pones Autocommit=false (es lo que hago por ejemplo para hacer backup o restore desde powerbuilder).
Sentencia...
... ... ...
SQLCA.AutoCommit=TRUE
Sentencias...
... ... ...
SQLCA.AutoCommit=FALSE
*Si sale error entonces pueba desconectando la asi:
if sqlca.sqlcode = -1  or sqlca.sqlcode = 100 or  sqlca.sqlcode = 0 then
 disconnect Using sqlca;
end if
Sentencia...
... ... ...
SQLCA.AutoCommit=TRUE
Sentencias...
... ... ...
SQLCA.AutoCommit=FALSE
Solo te pongo una idea, suerte.
Hola, gracias por la sugerencia, pero lamentablemente no funciona el Autocommit=False, la conclusión hasta el momento es que para que el nuevo valor del Autocommit tenga vigencia debo desconectarme y volver a conectarme. Pero esto no me soluciona el problema pues cuando me vuelva a conectar necesariamente tendré que poner el Autocommit=True para poder correr el sp set_approle y estaría nuevamente en la misma situación.
Muchísimas gracias por contestarme.
Saludos,
Manuel
Finaliza la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas