Conexión con SQL Server

06/07/2004 - 22:33 por Jorge A S | Informe spam
Buenas a todos, me esta pasando lo siguiente, compilé una
aplicación que se conecta con un SQL Server y ánduvo sin
problemas cuando la llevé a otra máquina no puedo lograr
conectarme con el servidor, me sale este mensaje:
mensaje: Puntero no valido
Source: Null
Descripcion: NULL

me conecto usando este código:

_RecordsetPtr m_pRS;
m_pRS = NULL;
m_pRS.CreateInstance( __uuidof(Recordset));
try
{
CString cad;
cad = _T("Driver=
{SQLServer};Server=MiServidor;Database=MiBase;Uid=MiUsuario
;Pwd=MiPassword;");
m_pRS->Open((LPCSTR)SP, (LPCSTR)cad,
adOpenKeyset,adLockOptimistic, adCmdStoredProc);
return true;
}
catch (_com_error &e)
{
AfxMessageBox(GetErrorDescription(e));
return false;
}
Alguien sabe cual puede ser el problema ?
Les agradezco por su tiempo.

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral [MVP]
07/07/2004 - 09:38 | Informe spam
Probablemente este fallando la creación de la conexión
m_pRS.CreateInstance( __uuidof(Recordset));

Esto hace que m_pRS sea nulo. El motivo puede ser por ejemplo que no tengas
las librerias de ADO en la maquina de destino. Deberias instalar el MDAC en
todas la maquinas que corras la aplicación.

De todos modos yo modificaria el codigo de este modo, con el fin de obtener
una excepción cuando no se pueda crear el objeto.

try
{
_RecordsetPtr m_pRS(__uuidof(Recordset));

CString cad;
cad = _T("Driver{SQLServer};Server=MiServidor;Database=MiBase;Uid=MiUsuario
;Pwd=MiPassword;");
m_pRS->Open((LPCSTR)SP, (LPCSTR)cad,
adOpenKeyset,adLockOptimistic, adCmdStoredProc);
return true;
}
catch (_com_error &e)
{
AfxMessageBox(GetErrorDescription(e));
return false;
}

Un saludo.

Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net
Respuesta Responder a este mensaje
#2 Jorge A S
07/07/2004 - 14:20 | Informe spam
Rodrigo, gracias por la respuesta, pero la verdad
desconozco que es el MDAC, me podrías comentar algo sobre
esto, se puede bajar de algún lado o esta aplicación ya
existe en las máquinas con las librerias actualizadas ?



Probablemente este fallando la creación de la conexión
m_pRS.CreateInstance( __uuidof(Recordset));

Esto hace que m_pRS sea nulo. El motivo puede ser por


ejemplo que no tengas
las librerias de ADO en la maquina de destino. Deberias


instalar el MDAC en
todas la maquinas que corras la aplicación.

De todos modos yo modificaria el codigo de este modo, con


el fin de obtener
una excepción cuando no se pueda crear el objeto.

try
{
_RecordsetPtr m_pRS(__uuidof(Recordset));

CString cad;
cad = _T("Driver>


{SQLServer};Server=MiServidor;Database=MiBase;Uid=MiUsuario
;Pwd=MiPassword;");
m_pRS->Open((LPCSTR)SP, (LPCSTR)cad,
adOpenKeyset,adLockOptimistic, adCmdStoredProc);
return true;
}
catch (_com_error &e)
{
AfxMessageBox(GetErrorDescription(e));
return false;
}

Un saludo.

Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida