Conexion a SQL Server sin ODBC

Mario
06 de Enero del 2004
Clear ALL
Close DATA
Local vlcservidor,vlcbasededatos,vlcusuario,vlcclave
Local vlcerrormensaje,vlnnumconex

vlcservidor="servidor" && Tambien se puede colocar el IP
vlcbasededatos="northwind"
vlcusuario = "sa"
vlcclave = ""


lcStringConn="Driver={SQL Server}"+;
";Server="+vlcservidor+;
";Database="+vlcbasededatos+;
";Uid="+vlcusuario+;
";Pwd="+vlcclave+";"

SQLSETPROP(0,"DispLogin",3)
SQLSETPROP(0,'BatchMode', .T.)

vlnnumconex=SQLSTRINGCONNECT(lcStringConn)
vlcquery= "select * from customers"

If vlnnumconex > 0
* La conexion se realizo

If SQLexec(vlnnumconex,vlcquery,"crtabla") > 0
Select crtabla
Brow
? SQLDISCONNECT(vlnnumconex)
Endif


Else
* Error al Conectarse
=AERROR(aerrorarray)
vlcerrormensaje=''
aerrorarray(2)=STRTRAN(STRTRAN(ALLTRIM(aerrorarray(2)),CHR(13),' '),CHR(10),' ')
aerrorarray(3)=STRTRAN(STRTRAN(ALLTRIM(aerrorarray(2)),CHR(13),' '),CHR(10),' ')
vlcerrormensaje='"'+TTOC(DATETIME())+'",'+ALLTRIM(STR(aerrorarray(1)))+',"'+aerrorarray(2)+'","'+aerrorarray(3)+'",'+aerrorarray(4)+',"'+vlcquery+'"'+CHR(13)+CHR(10)
* Guardo el error en un archivo de Texto
If STRTOFILE(vlcerrormensaje,'log.txt',.T.) <= 0
=messagebox('Error al imprimir en archivo...',64,'Error')
Endif
Endif



Mario
06 de Enero del 2004
Aclarando que este es un ejemplo para utilizar sqlexec sin necesidad de crear la fuente ODBC.

Ado permite tambien conectarse facilmente sin una conexion ODBC

Saludos