Resumen Asignar passwords a usuarios de SQL-Server 7 desde VB

Mensaje enviado por "Ignacio Napal" <inapal@equiplus.com>

Ejemplo de cambio de password de SQL7 usando ADO:

Supongamos que "cnn" es un objeto ADODB.Connection ya abierto, y que "sAnterior" y "sNueva" son variables tipo string, conteniendo la clave anterior y la nueva clave respectivamente. El procedimiento resulta así:


Dim Cmd As New ADODB.Command
Dim Par As ADODB.Parameter

Cmd.CommandText = "sp_password"
Cmd.CommandType = adCmdStoredProc
If sAnterior = "" Then
    Set Par = cmd.CreateParameter("old", adLongVarWChar, adParamInput, 1, Null)
Else
    Set Par = cmd.CreateParameter("old", adLongVarWChar, adParamInput, Len(sAnterior), sAnterior)
End If

cmd.Parameters.Append Par

If sNueva = "" Then
    Set Par = cmd.CreateParameter("new", adLongVarWChar, adParamInput, 1, Null)
Else
    Set Par = cmd.CreateParameter("new", adLongVarWChar, adParamInput, Len(sNueva), sNueva)
End If

Cmd.Parameters.Append Par

Cmd.ActiveConnection = cnn
Cmd.Execute


De esta manera, se cambia la clave del usuario con el cual se estableció la conexión (al abrir "cnn"). Si se quisiera cambiar la clave de otro usuario (es decir, conectarse como "xx" y cambiar la clave de "yy"), se puede agregar un tercer parámetro, llamado "loginame", en el cual se indica el usuario en cuestión ("yy"). Para hacer esto, el usuario con el que se estableció la conexión ("xx") debe tener privilegios de securityadmin o sysadmin.

Nota: desarrollado y verificado con VB6(sp3) y ADO 2.5, contra MSSQL7 y MSDE 1.0.

Ignacio Napal
Equiplus S.A.
email: inapal@equiplus.com



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com