Página 1 de 1

Conexion de CGI a SQL Server

Publicado: Jue Dic 10, 2009 2:58 pm
por Fernadno Hernandez
Buenos Dí­as por aca en mi pais.
Estoy haciendo pruebas desarrollando un CGI, hasta el momento lo he probado
usando IIS y Apache server mostrando una pequeña leyenda al estilo "HOLA".
Adicionalmente, he hecho pruebas haciendo una conexion a una base de datos
SQL Server para leer cierta informacion de una tabla, pero tengo un
problema. Si la conexion la hago desde un programa en windows este me
funciona correctamente; pero si la hago por medio del CGI esta se queda
esperando y me termina dando error de tiempo de espera.
Ya esta habilitado en el servidor permitir las conexiones remotas, incluso
he agregado en el grupo de administrado del servidor de sql server la pc
donde esta instalado el IIS. He probado el CGi en ambos servidores WEB.
Alguien me podria dar luz en que estoy fallando ?
Adjunto parte del codigo.
Saludos
//---------------------------------------------------------- ---------------------------------------------------------
Public ccSConnect := "Provider=SQLNCLI.1;Persist Security Info=False;User
ID=sa;Initial Catalog=SharePoint_Datos;Data Source=DYNAMICS;password=sa123"
WITH Object aAdo := TAdoDataSource():New()
:cConnect:= ccSconnect
:nMode := adModeReadWrite
:nConntimeout := 120000
:lConnected := .t.
End
aData := aAdo:Query( "SELECT * FROM CASOS.USUARIOS WHERE
IDUSUARIO='"+LTRIM(RTRIM(ccUsuario))+"'")
adata:Open()
If adata:Reccount() >0
IF cRecAccess:RecordCount() > 0
cNombre := aData:aFields[2]:Value
cVence := aData:aFields[6]:Value
cPasstbl := aData:aFields[3]:Value //Decrypt(
rtrim(ltrim(aData:aFields[3]:Value)) ,'disal')
cStatus := aData:aFields[4]:Value
cMail := aData:aFields[5]:Value
endif
Endif
aData:Close()

Conexion de CGI a SQL Server

Publicado: Jue Dic 10, 2009 10:42 pm
por nospam
Fernando:
No tienes que hacer nada en especial para hacer CGIs con bases de datos SQL.
Yo lo hago todo el tiempo CGIs con Xailer, tanto con MySQL, Advantage,
SQL Server o Access.
El problema que describes no tiene nada que ver con el tipo de
ejecución, tu programa CGI tiene un error de programación y está
fallando, y como los CGIs no tienem salida a pantalla no tienes forma se
saber que rutina causó un error ni que cual fue el tipo de error que se
causó.
Si estás usando Xailer para tu progrma CGI, entonces primero, te
recomiendo que NO USES EL MODO HIBRIDO (Windows + DOS), hazlo totalmente
Windows, de esta forma podrás usar MsgInfo() de Xailer y tener salida
por pantalla en el servidor.
Tienes 2 opciones para ver donde está el error:
1) Le tendrás que meter MsgInfo()s para que te vaya poniendo en pantalla
la ejecución y tratar de pillar donde está fallando. No se puede usar el
debugger porque el programa no corre sobre el IDE de Xailer.
2) Reescribes el ErrorSys.PRG de xHarbour para que en vez de enviar los
errores a pantalla, los envie a la salida del CGI (pagina web). Este
método es sugerido porque puedes "matar" el programa CGI controlando el
errorsys, de lo contrario, el programa se queda pegado en memoria hasta
que reinicies el servidor web.
En este ejemplo, que está escrito en Xailer, el penúltimo botón hace una
conexión ADO y presenta un informe FastReports exportado a HTML:
http://www.ciber-tec.d2g.com/frh/
Saludos
René Flores
http://www.ciber-tec.com

Conexion de CGI a SQL Server

Publicado: Jue Dic 24, 2009 9:58 pm
por Fernadno Hernandez
Buenas por aca
Al final no pude usar el ide de xailer para crear el CGI, en su lugar estoy
usando Xedit y si he podido hacer la conexion a la base de datos via ADO,
con el Xailer me daba error 65535 al momento de crear el objeto,
aparentemente era de derechos.
Gracias por la ilumicacion
Saludos
"René Flores <"rflores" <nospam> escribió en el mensaje de noticias
news:[email=4b216b4d@svctag-j7w3v3j....]4b216b4d@svctag-j7w3v3j....[/email]
> Fernando:
>
> No tienes que hacer nada en especial para hacer CGIs con bases de datos
> SQL.
>
> Yo lo hago todo el tiempo CGIs con Xailer, tanto con MySQL, Advantage, SQL
> Server o Access.
>
> El problema que describes no tiene nada que ver con el tipo de ejecución,
> tu programa CGI tiene un error de programación y está fallando, y como los
> CGIs no tienem salida a pantalla no tienes forma se saber que rutina causó
> un error ni que cual fue el tipo de error que se causó.
>
> Si estás usando Xailer para tu progrma CGI, entonces primero, te
> recomiendo que NO USES EL MODO HIBRIDO (Windows + DOS), hazlo totalmente
> Windows, de esta forma podrás usar MsgInfo() de Xailer y tener salida por
> pantalla en el servidor.
>
> Tienes 2 opciones para ver donde está el error:
>
> 1) Le tendrás que meter MsgInfo()s para que te vaya poniendo en pantalla
> la ejecución y tratar de pillar donde está fallando. No se puede usar el
> debugger porque el programa no corre sobre el IDE de Xailer.
>
> 2) Reescribes el ErrorSys.PRG de xHarbour para que en vez de enviar los
> errores a pantalla, los envie a la salida del CGI (pagina web). Este
> método es sugerido porque puedes "matar" el programa CGI controlando el
> errorsys, de lo contrario, el programa se queda pegado en memoria hasta
> que reinicies el servidor web.
>
> En este ejemplo, que está escrito en Xailer, el penúltimo botón hace una
> conexión ADO y presenta un informe FastReports exportado a HTML:
>
> http://www.ciber-tec.d2g.com/frh/
>
> Saludos
>
> René Flores
> http://www.ciber-tec.com