Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   permisos de usuarios (https://www.clubdelphi.com/foros/showthread.php?t=51379)

laukri 13-12-2007 18:55:14

permisos de usuarios
 
hola!
queria saber si hay alguna forma de darle a todos los usuarios (es decir al PUBLIC) permiso de select para TODAS las tablas, sin tener que hacerlo de a una.

Lepe 14-12-2007 18:42:24

A esperas de una mejor solución (aportada por otro compañero), puedes hacer un bucle en delphi y enviar los resultados a un IBScript, algo así:

El TDatabase tiene un método GetTableNames, o bien TableNames:
Código Delphi [-]
var s:TSTringlist;
BEGIN
  s := Tstringlist.create;
  database1.GetTableNames(s);
  for i:= 0 to s.count-1 do
    ibScript1.Script.Add('Grant SELECT ' + s[i] + ' to public;');
  s.free;
  ibscript1.Execute;
end;
.. hecho de memoria, pero pillas la idea.

Saludos

laukri 15-12-2007 14:57:38

gracias, pero yo estoy trabajando con ibexpert y no desde delphi.
Pero igual esta buena tu opcion...

Lepe 16-12-2007 09:27:51

Hace poco se vió en un hilo como buscar los nombres de las tablas en Firebird.

Después puede usar Execute Statetement para crear la sql al vuelo con un string y ejecutarla, (sería mejor crear un Store Procedure ;)):
Código SQL [-]
declare variable strSql varchar (80)
as
for select ....< es sql larga > 
into :NombreTabla do
begin 
   strsql = 'grant select ' || :NombreTabla || ' to public';
   execute statement strsql
end;


La franja horaria es GMT +2. Ahora son las 19:04:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi