Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   cretae usuarios en sql 2005 server desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=48047)

richy08 13-09-2007 23:29:25

cretae usuarios en sql 2005 server desde delphi
 
buen dia compañeros tengo la siguinete duda termine mi aplicacion y ahora estoy haciendo una pantalla de logins para asignar permisos y toda la cosa el problema es que para que el usuario se autentifique ante el servidor sql necesito tambien crearlo ahi, uso el siguiente codigo y funciona bastante bien

CREATELOGIN PRUEBA2 WITH PASSWORD ='PRUEBA2'
CREATEUSER PRUEBA2 WITH DEFAULT_SCHEMA =DBO

el problema es que a la hora de correrlo en delphi eso se pone asi

CREATELOGIN @login WITH PASSWORD = @password
CREATEUSER @login WITH DEFAULT_SCHEMA =DBO

y pues marca error:confused: alguien sabe por que otra cosa con esto creo al usuario pero me falta asignarle permisos en la parte de user mapping donde aparecen las bases de datos la base de datos que quiero ya aparece el permiso public, pero para que mi aplicacion no truene necesito darle tambien el permiso db?owner alguien sabe como hacerlo por codigo de antemano gracias.

BlueSteel 13-09-2007 23:40:59

mmmm.. se ve dificil

con lo de los permisos... te sugiero que crees grupos de usuarios en el SQL Server 2005...(tipo plantilla)

entonces cuando creas el usuario, lo asignas al grupo correspondiente (dependiendo de las restricciones)..

con respecto al traspaso de datos desde el delphi a Sql ...

como estas haciendo (podrias mostrar el código ejecutado desde delphi) por que no creo que lo ejecutes así no mas
Cita:

CREATELOGIN @login WITH PASSWORD = @password
CREATEUSER @login WITH DEFAULT_SCHEMA =DBO
y que error te esta arrojando

BlueSteel 13-09-2007 23:43:32

repensando nuevamente...

te sugiero que crees una funcion en el SQL ... y que esa la llames desde delphi... ahí se podras pasarle los comandos como parametros...

puede k me equivoque...

richy08 13-09-2007 23:53:22

hola bluesteel si ese codigo lo tengo dentro de un query ado y le paso los parametros de unos edit de mi pantalla el problema es que al llegar a sql truena

BlueSteel 14-09-2007 00:16:35

Cita:

Empezado por richy08 (Mensaje 230936)
hola bluesteel si ese codigo lo tengo dentro de un query ado y le paso los parametros de unos edit de mi pantalla el problema es que al llegar a sql truena

pero cuando truena.. que error te da....

lo otro... estas conectado al SQL server con un usuario que tiene privilegios de crear usuario??

richy08 14-09-2007 00:23:53

Si estoy conectado con el sa que lo tengo como un super usuario y el error que me da es este

Msg 15007, Level 16, State 1, Procedure usuario, Line 21
'@usuario' is not a valid login or you do not have permission.

pero es por que no acepta parametros, y si no acepta para metros como puedo hacerlo de forma dinamica:confused:

richy08 14-09-2007 00:24:35

este es el codigo con el que lo estoy intentando ahorita

alterPROCEDURE usuario @users nchar(20),@password varchar(50)
AS
BEGIN
SET
NOCOUNTON;
--SE COMPRUEVA QUE EL USUARIO NO EXISTE EN LA BASE DE DATOS.
IFNOTEXISTS(SELECT*FROM master.dbo.syslogins WHEREname= @users)
BEGIN
--Si no existe--Se crea el Login en la instancia para que pueda iniciar sesion
DECLARE @CreateLoginStatement nvarchar(200)SET @CreateLoginStatement ='CREATE LOGIN ['+QUOTENAME(@users)+'] WITH PASSWORD ['+QUOTENAME(@password)+'] 'EXECsp_executesql @CreateLoginStatement
--Se crea el usuario en la base de datos
CREATEUSER [@usuario] FORLOGIN [@usuario] WITH DEFAULT_SCHEMA=[dbo]
INSERTINTO userssystems VALUES(@users, @password)
end
END


La franja horaria es GMT +2. Ahora son las 00:41:34.

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