ADODB.Connection error \'800a0e7a\'

Ninja Gaiden Zero
17 de Marzo del 2010
El código que a continuación publico corre perfectamente en Microsoft Windows XP SP2 pero al publicarlo en Microsoft Windows Server 2003 R2 Service Pack 2

Dim SqlUserExists As String, UserKey As String
Dim UsrCount As Integer

Set oUtilities = CreateObject("TEMMUtilities.Registry")
Set oConn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")

On Error GoTo Handler

' =================================================================================
' VALORES QUE UTILIZA LA FUNCIÓN - GetRegEncryptString -
' =================================================================================
' - connection - SE UTILIZA PARA CADENAS DE CONEXIÓN
sKey = "connection"
' - Production - CADENA DE CONEXIÓN PARA PRODUCCIÓN
sAlphaNumeric = "Production"

' OBTENEMOS LA CADENA DE CONEXIÓN CORRESPONDIENTE
sUsrCnn = oUtilities.GetRegEncryptString(sKey, sAlphaNumeric)
Set oUtilities = Nothing

Set oUtilities = CreateObject("TEMMUtilities.Strings")
Pwd = oUtilities.CheckString(Pwd)

' PARÁMETRO ESTANDAR PARA EL MÉTODO DE ENCRIPCIÓN
UserKey = Chr(2)
TextEncrypt = oUtilities.EncryptString(UserKey, Pwd, 1)

' CONSULTA QUE VERIFICA SI EXISTE UN USUARIO CON LAS CARACTERISTICAS ESPECIFICADAS
SqlUserExists = "SELECT COUNT(*) " & _
"FROM SYSADMIN.APL_CREDENCIAL_USUARIO " & _
"WHERE USUARIO = '" & Usr & "' AND PASSWORD = '" & TextEncrypt & "' " & _
"AND ID_ESTADO IN (1,4)"

' ESTABLECER CONEXIÓN CON EL SERVIDOR DE
oConn.Open (sUsrCnn)

' UTILIZAMOS EL MÉTODO Execute PARA EJECUTAR LA CONSULTA
' REQUIERE UN OBJETO DE TIPO RECORDSET PARA RECIBIR LOS RESULTADOS DE LA MISMA
Set Rs = oConn.Execute(SqlUserExists)
SignIn = Rs.Fields(0)

Ninja Gaiden Zero
17 de Marzo del 2010
Ya lo simplifiqué más pero me manda el mismo error...
¿Me pueden ayudar?

Usr = "fruela"
Pwd = "htwgnc"

Dim SqlUserExists, UserKey
Dim UsrCount

Set oUtilities = CreateObject("TEMMUtilities.Registry")
Set oConn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")

sKey = "connection"
sAlphaNumeric = "Production"

sUsrCnn = oUtilities.GetRegEncryptString(CStr(sKey), CStr(sAlphaNumeric))
Set oUtilities = Nothing

Set oUtilities = CreateObject("TEMMUtilities.Strings")
Pwd = oUtilities.CheckString(Pwd)

UserKey = Chr(2)
TextEncrypt = oUtilities.EncryptString(CStr(UserKey), CStr(Pwd), 1)

SqlUserExists = "SELECT COUNT(*) " & _
"FROM SYSADMIN.APL_CREDENCIAL_USUARIO " & _
"WHERE USUARIO = '" & Usr & "' AND PASSWORD = '" & TextEncrypt & "' " & _
"AND ID_ESTADO IN (1,4)"

' **************************************************************
' AQUÍ ES DONDE ESTA TRONANDO EL CÓDIGO
oConn.Open (sUsrCnn)
' **************************************************************

Set Rs = oConn.Execute(SqlUserExists)
SignIn = Rs.Fields(0)


--------------
Este es el error que me envia:

ADODB.Connection error '800a0e7a'
Provider cannot be found. It may not be properly installed.

-------

Repito el mismo código funciona a la perfección en Windows XP