FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
grant a nivel de campo
Hola amigos....
Fijense q estoy trabajando con Firebird 2.0 y quisiera saber si esta sentencia la soporta la version de firebird que uso:
Lo anterior lo consulte en este foro, pero para Oracle.... De antemano les comento que hice algunas pruebas en un usuario que tenia asignado el privilegio UPDATE para todos los campos, pero necesito que algunos no los pueda modificar. Para esto le quite el privilegio UPDATE al usuario, luego ejecute la instruccion:
Pero la aplicación me envía un mensaje diciendome que el data set no puede realizar UPDATE...o algo asi. El caso es que el grant por campo (columna) no lo esta realizando...me hara falta algo mas ??? Alguien me puede ayudar en esto?. GRACIAS !!!
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#2
|
||||
|
||||
Hola mRoman.
Un script de ejemplo que crea el usuario "PEREZ", le da derechos de lectura, inserción y modificación sólo sobre el campo "FECHA" en la tabla "TABLA":
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
Ok...agradezco tu ejemplo ecfisa. Estoy haciendo los mismo....pero como que algo no funciona bien, porque me sale un error. En fin probaré tu ejemplo. Por cierto que version de firebird usas?....
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#4
|
||||
|
||||
Apartir de que version de Firebird se pueden ejecutar ese tipo de sentencias SQL ecfisa?
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#5
|
||||
|
||||
Hola mRoman.
Cita:
La sintáxis del ejemplo corresponde a la versión 2.5 Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 13-12-2013 a las 04:28:10. |
#6
|
||||
|
||||
Te agradezco ecfisa que te hayas fijado.
Fijate que a pesar de que tengo la version 2.0 la sentencia se ejecuta y no marca error, pero obviamente no realiza lo que quiero.....probaré con la versión 2.5 Saludos
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#7
|
||||
|
||||
Hola mRoman.
También podes crear roles, darles privilegios y luego asignárselo a uno o mas usuarios. Todos los usuarios pertenecientes al mismo rol, heredan los privilegios del mismo. Ejemplo:
Luego:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
||||
|
||||
Gracias ecfisa.
Probe con la versión 2.5 y no hace lo que quiero. Mejor explico el "ambiente" en el cual estoy trabajando (Creo que por aqui debí haber empezado): Tengo un DATASET ligado a un DbGRID, aqui tengo algunas columnas habilitadas y otras no, pero es aqui donde NO QUIERO que el usuario modifque el campo en cuestion. Ejecuto la siguiente sentencia SQL en el ScripExecutive del IbExpert:
(Omito el "campo2", porque ese quiero que NO tenga el privilegio UpDate) Lo ejecuto y NO me marca ningún error.... Me voy a la aplicación, y trato de modificar en el DbGrid en el campo, pero al momento que habro el DataSet (DataSet1.Open), me envia el siguiente mensaje:
El mensaje anterior me lo envia desde Delphi, porque ejecuto desde ahi la aplicación....y este otro mensaje ejecutando directamente desde el EXE:
En otras palabras, parece ser que TODA la tabla no la puedo modificar !!!....y de hecho si, no puedo modificar otras columnas del grid, que obviamente están habilitadas para ser modificadas directamente.... Creen que hace falta algo ?..... Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#9
|
||||
|
||||
Hola mRoman.
En este caso el problema no lo ocasiona Firebird sino el componente, que cuando aplica el update lo hace sobre todo el registro. De ese modo incluye aquellos campos sobre los que el usuario no posee el privilegio de la acción y de allí que se eleva la excepción. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#10
|
||||
|
||||
Hola de nuevo.
Para demostrar con un ejemplo lo que te menciono arriba, supongamos una hipotética tabla: y que el excelente y nunca bién ponderado empleado "PEREZ", ha iniciado sesión con estos privilegios:
Si ejecuta esta consulta: No va a tener ningun problema. pero si intenta hacer: va a obtener un bonito mensaje: "No permission for update/write access to column VENTAS.PRECIO" Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#11
|
||||
|
||||
Sql
Gracias ecfisa por tus respuestas y una disculpa por no haber contestado antes tus post.
Me queda claro con tus ejemplos lo que esta pasando. Entonces quiere decir que si a tu primer query (el cual lo reescribo nuevamente), le agrego el campo de PRECIO....que pasaria? Si ejecuta esta consulta:
AHORA SI HABRÁ PROBLEMA!?...QUE OTRA SOLUCION PUDIERA EXISTIR....un componente IBQuery por cada campo?....ups....
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! Última edición por mRoman fecha: 18-12-2013 a las 05:57:25. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
trigger a nivel de campo | carlomagno | Firebird e Interbase | 19 | 23-06-2011 17:39:49 |
¿En que nivel estoy? - ¿En que nivel estas? | movorack | Varios | 46 | 20-06-2008 21:19:26 |
jedi cvs: manejar versiones a nivel módulo y a nivel proyecto | pvizcay | Varios | 3 | 17-04-2007 16:17:59 |
grant / revoke en oracle a nivel columna | avmm2004 | Oracle | 5 | 14-10-2006 17:55:33 |
Validación a nivel de campo | Luis | Conexión con bases de datos | 3 | 25-07-2004 13:48:53 |
|