Crear usuario desde la aplicacion en SQL Server
Publicado por antonio (1271 intervenciones) el 19/10/2019 17:10:44
Un saludo a todos:
Resulta que tengo que hacer un procedimiento en el cual se registre un usuario con privilegios en una base de datos de SQL Server.
He conseguido registrarlo pero me falta darle los privilegios a ciertas tablas o a toda la base de datos que tengo en SQL Server... Ejemplo
usuario = 'cajero1'
Password = '1234'
Este usuario lo registro de esta manera:
Se registra correctamente pero cuando quiero conectarme con ese usuario de esta manera:
Me regresa el error que no se puede iniciar sesión, ni tampoco tiene acceso a las tablas o base de datos.
Esto úlitmo es lo que me hace falta.
¿Alguien lo ha hecho o darme una orientación de como darle acceso a ciertas tablas o a toda la base datos y darle privilegios de select, modify, delete, insert... etc etc?
Gracias por sus comentarios y apoyo...
Resulta que tengo que hacer un procedimiento en el cual se registre un usuario con privilegios en una base de datos de SQL Server.
He conseguido registrarlo pero me falta darle los privilegios a ciertas tablas o a toda la base de datos que tengo en SQL Server... Ejemplo
usuario = 'cajero1'
Password = '1234'
Este usuario lo registro de esta manera:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
string ls_sql
string ls_usuario
string ls_password
string ls_database = 'SIR'
ls_usuario = 'cajero1'
ls_password = '1234'
sqlca.autocommit = true
ls_sql = "SP_ADDLOGIN '"+ ls_usuario + "' , '" + ls_password + "' , '" + ls_database + "'," + "'us_english'"
Execute Immediate :ls_sql using sqlca;
if sqlca.sqlcode <> 0 then
Messagebox(string(sqlca.sqlcode) + "error","Login " + sqlca.sqlerrtext)
return
end if
//agrego el usuario
ls_sql = "SP_ADDUSER '" + ls_usuario + "','" + ls_usuario + "', " + "'db_owner'"
Execute Immediate :ls_sql using sqlca;
If sqlca.sqlcode <> 0 then
Messagebox(string(sqlca.sqlcode),"User " + sqlca.sqlerrtext)
return
else
Messagebox('Proceso Correcto...',"Usuario creado para la base de Datos " + ls_database)
end if
Se registra correctamente pero cuando quiero conectarme con ese usuario de esta manera:
1
2
3
4
5
6
7
8
9
SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = "1234"
SQLCA.LogId = "cajero1"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='SISTEMAS\SOFTLOGIC',PROVIDERSTRING='database='SIR''"
Connect using sqlca;
return sqlca.sqlcode
Me regresa el error que no se puede iniciar sesión, ni tampoco tiene acceso a las tablas o base de datos.
Esto úlitmo es lo que me hace falta.
¿Alguien lo ha hecho o darme una orientación de como darle acceso a ciertas tablas o a toda la base datos y darle privilegios de select, modify, delete, insert... etc etc?
Gracias por sus comentarios y apoyo...
Valora esta pregunta


0