sp_password

13/04/2004 - 02:15 por Julio C. Briceño R. | Informe spam
Saludos,

El procedimiento siguiente:

Dim cmdCambioClave As New ADODB.Command
Dim parLogin As New ADODB.Parameter
Dim parClaveVieja As New ADODB.Parameter
Dim parClaveNueva As New ADODB.Parameter
cmdCambioClave.ActiveConnection = mcnnPrincipal
cmdCambioClave.CommandText = "sp_password"
cmdCambioClave.CommandType = adCmdStoredProc
Set parClaveVieja = cmdCambioClave.CreateParameter
("clavevieja", adChar, adParamInput, 200)
cmdCambioClave.Parameters.Append parClaveVieja
Set parClaveNueva = cmdCambioClave.CreateParameter
("clavenueva", adChar, adParamInput, 200)
cmdCambioClave.Parameters.Append parClaveNueva
Set parLogin = cmdCambioClave.CreateParameter("logi",
adChar, adParamInput, 200)
cmdCambioClave.Parameters.Append parLogin
parLogin.Value = strCodUsu
parClaveVieja.Value = strClave
parClaveNueva.Value = Me.txtConfirmacion.Text
cmdCambioClave.Execute

cambiaba la clave de un usuario en desde Visual Basic para
SQL Server 7.0. Ahora en SQL Server 2000 insiste en que la
clave antigua está incorrecta. strClave contiene la clave
antigua pues lo que he comprobado con breakpoints y además
lo ejecuto desde el Query Analizer y todo bien. strCodUsu
también contiene el usuario que quiero cambiar.

Alguien puede decirme qué sucede? Qué cambia en SQL 2000?

Gracias de antemano

Julio C. Briceño R.
Caracas, Venezuela
 

Leer las respuestas

#1 Gustavo Larriera [MVP SQL]
13/04/2004 - 02:33 | Informe spam
Tal vez tenga que ver que los tipos de datos de los tres parámetros de
sp_password son 'sysname' que son NVARCHAR(128), es decir que usan UNICODE
(2 bytes por caracter).

Tal vez si usas la libreria SQL-DMO puedes aplicar a un objeto de clase
Login su método SetPassword. Los parámetros son de tipo SQLDMO_LPCSTR
object.SetPassword( OldValue , NewValue )


Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho
This posting is provided "AS IS" with no warranties, and confers no rights.
"Julio C. Briceño R." wrote in message
news:1b93a01c420ec$5ccbb040$
Saludos,

El procedimiento siguiente:

Dim cmdCambioClave As New ADODB.Command
Dim parLogin As New ADODB.Parameter
Dim parClaveVieja As New ADODB.Parameter
Dim parClaveNueva As New ADODB.Parameter
cmdCambioClave.ActiveConnection = mcnnPrincipal
cmdCambioClave.CommandText = "sp_password"
cmdCambioClave.CommandType = adCmdStoredProc
Set parClaveVieja = cmdCambioClave.CreateParameter
("clavevieja", adChar, adParamInput, 200)
cmdCambioClave.Parameters.Append parClaveVieja
Set parClaveNueva = cmdCambioClave.CreateParameter
("clavenueva", adChar, adParamInput, 200)
cmdCambioClave.Parameters.Append parClaveNueva
Set parLogin = cmdCambioClave.CreateParameter("logi",
adChar, adParamInput, 200)
cmdCambioClave.Parameters.Append parLogin
parLogin.Value = strCodUsu
parClaveVieja.Value = strClave
parClaveNueva.Value = Me.txtConfirmacion.Text
cmdCambioClave.Execute

cambiaba la clave de un usuario en desde Visual Basic para
SQL Server 7.0. Ahora en SQL Server 2000 insiste en que la
clave antigua está incorrecta. strClave contiene la clave
antigua pues lo que he comprobado con breakpoints y además
lo ejecuto desde el Query Analizer y todo bien. strCodUsu
también contiene el usuario que quiero cambiar.

Alguien puede decirme qué sucede? Qué cambia en SQL 2000?

Gracias de antemano

Julio C. Briceño R.
Caracas, Venezuela

Preguntas similares