Problema complicado con approle...

21/07/2004 - 19:13 por Cristián | Informe spam
Necesito activar para los usuarios de mi aplicación un rol
de aplicación que creé para ésta; establezco 2 conexiones
en mi aplicación; una con cursor de cliente y otra con
cursor de servidor, así, uso
==>conn.execute "set_approle "<== (aplicación en VB6)
directo desde los comandos de mi aplicación. El problema
es que, aunque asocié el rol de aplicación al rol
db_owner, me salen problemas de permisos, configuré uno a
uno los permisos del rol para todos los objetos de la bd y
aún así me genera errores, ahora pienso que talvez no se
activa el rol de aplicación así que hice una traza y me
sale el siguiente mensaje al activar el rol de aplicación:
==>--se encontró 'sp_setapprole' en el texto de este
suceso. --El texto se remplazó por este comentario por
motivos de seguridad <=No sé que está pasando realmente, según el BOL estoy
ejecutando bien el sp_setapprole pues no utilizo un sp ya
que (cito textual):"Sólo las instrucciones Transact-SQL
directas pueden ejecutar el procedimiento almacenado
sp_setapprole; no se puede ejecutar dentro de otro
procedimiento almacenado o desde una transacción definida
por el usuario."

Alguno de Uds. compañeros, que utilice esta característica
en sus programas, sería tan amable en señalarme cómo lo
hace para chequear si mis métodos están bien. Sino algún
consejo efectivo para solucionar mis problemas... Gracias!!
 

Leer las respuestas

#1 Javier Loria
21/07/2004 - 22:35 | Informe spam
Hola Cristian:
Si en la aplicacion estas usando ADO, es posible que tengas problemas
con el Pool de Conexiones de OLEBD. Dependiendo de como hagas el string de
Conexion debes hacer "Pooling=false;" o
"OLE DB Services = -2;".
Prueba a ver si con esto te funciona.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Cristián escribio:
Necesito activar para los usuarios de mi aplicación un rol
de aplicación que creé para ésta; establezco 2 conexiones
en mi aplicación; una con cursor de cliente y otra con
cursor de servidor, así, uso
==>conn.execute "set_approle "<== (aplicación en VB6)
directo desde los comandos de mi aplicación. El problema
es que, aunque asocié el rol de aplicación al rol
db_owner, me salen problemas de permisos, configuré uno a
uno los permisos del rol para todos los objetos de la bd y
aún así me genera errores, ahora pienso que talvez no se
activa el rol de aplicación así que hice una traza y me
sale el siguiente mensaje al activar el rol de aplicación:
==>--se encontró 'sp_setapprole' en el texto de este
suceso. --El texto se remplazó por este comentario por
motivos de seguridad <=> No sé que está pasando realmente, según el BOL estoy
ejecutando bien el sp_setapprole pues no utilizo un sp ya
que (cito textual):"Sólo las instrucciones Transact-SQL
directas pueden ejecutar el procedimiento almacenado
sp_setapprole; no se puede ejecutar dentro de otro
procedimiento almacenado o desde una transacción definida
por el usuario."

Alguno de Uds. compañeros, que utilice esta característica
en sus programas, sería tan amable en señalarme cómo lo
hace para chequear si mis métodos están bien. Sino algún
consejo efectivo para solucionar mis problemas... Gracias!!

Preguntas similares