Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   porblemas para cargar una dll en un CGI (https://www.clubdelphi.com/foros/showthread.php?t=9862)

Slash 04-05-2004 16:36:59

porblemas para cargar una dll en un CGI
 
Hola buenas...
Resulta que mi problema es el siguiente:
cuando ejecuto mi cgi desde el server no tengo problemas pero cuando lo intento correr desde otra maquina me dice "undable load gds32.dll" ahora bien esto sucede si uso los DBExpress sino, si solo devuelvo codigo html, funciona barbaro. Ya prove cambiando la ruta de la propiedad
"VendorLib=GDS32.dll" pero no hay caso el problema perciste.
Por ejemplo le puse "VendorLib=c:\windows\system32\GDS32.dll" y desde el server corria pero no desde otra maquina lo mismo paso cuando le puse
"VendorLib=c:\inetpub\wwwroot\cgi\GDS32.dll" que es donde esta el cgi.

jachguate 04-05-2004 17:36:54

Y en que carpeta de la otra máquina está el gds32.dll??

Tiene instalado el cliente interbase?

wonder boy 04-05-2004 22:33:45

entiendo que se quiere hacer es lo siguiente:

generar una aplicacion .EXE que este en el servidor de web que responda a un parametro mandado por .HTML para devolver datos de una .GDB de interbase que tambien esta en el servidor, y a su vez esta puede ser accedida desde cualquier lugar donde haya internet. Tambien debe considerarse que la pagina en cuestion no tiene nada, absolutamente nada, que ver con interbase, no hay cliente IB ni es la intencion que lo haya en la maquina que actua como cliente de HTTP. Para redondear, se entra a www.pepe.com se accede al index.html y este tiene una instruccion sismilar a la siguiente:
<FORM METHOD="post" ACTION="http://www.pepe.com/cgi/programa.exe"> en el cual se ejecuta el programa.exe que accede a la .GDB en cuestion y devuelve un .HTML que me muestra la informacion requerida.

Ahora, el problema que se le sucita a nuestro colega Slash, es que cuando el programa.exe trata de acceder a la GDS32.DLL de interbase le tira el error "unable load gds32.dll", y esto es lo que no se entiende porque pasa, se ha probado copiando la dll en el mismo directorio y no pasa nada, como se esta usando dbexpress D7 e IB6 puede que tambien se necesiten la midas.dll y la dbexpint.dll y hasta el dbxconection.ini, pues ya han sido copiadas y tampoco anda, ahora espero que se entienda cual es la cuestion, quisiera saber si hay alguna solucion para esto, gracias de antemano


pd: el servidor es IIS de WinXP

jachguate 05-05-2004 00:03:17

A ver a ver...

No podria el mismo Slash explicar lo que pasa?? :confused:

en fin... yo me imagino que cuando dice:

Cita:

Empezado por Slash
pero cuando lo intento correr desde otra maquina

se refiere a que copia la dll o el exe a otra máquina, con un webserver, e intenta correrlo en ella.

Si lo que está haciendo es invocar al CGI desde un browser, el funcionamiento será exactamente el mismo si se invoca en "local" que si se invoca en "remoto".

La máquina que corra el CGI (y el webserver) claro que tiene que tener instalado el cliente de interbase. El servidor de base de datos puede correr en esta máquina, o en cualquier otra accesible por la red.

La gds32.dll no debe estar en la misma carpeta del CGI. supongo que debe estar en la carpeta del sistema.

Hasta luego.

;)

wonder boy 05-05-2004 00:42:58

ok, si es verdad, supongo que el se puede explicar solo, pero porque da el error de la DLL y no termina de ejecutar un EXE (el cgi) que anda bien localmente pero no en otro ordenador???, aca el asunto es que no se sabe porque da "UNABLE LOAD GDS32.DLL", ese es el problema y no hemos podido resolverlo


pd: que disculpe Slash si uno se entromete describiendo un problema personal parecido al de él.

pd2: gracias por la respuesta

jachguate 05-05-2004 00:50:18

Cita:

Empezado por wonder boy
no termina de ejecutar un EXE (el cgi) que anda bien localmente pero no en otro ordenador???,

Creo que no nos estamos entendiendo! :confused:

Que significa exactamente esto??? ya te dije en dos ocasiones anteriores que para "ejecutar" el exe en otro ordenador, este debe tener instalado el cliente de ib. Es diferente "invocar" el cgi desde un webbrowser en otro ordenador... y me parece que estas confundiendo los términos.


Cita:

Empezado por wonder boy
no se sabe porque da "UNABLE LOAD GDS32.DLL",

Pues porque no puede cargar la librería... no basta con copiar el dll... has instalado el cliente de IB??

Cita:

Empezado por wonder boy
ese es el problema y no hemos podido resolverlo

Al final de cuentas Slash y vos trabajan juntos, son la misma persona o que, porque ya no entiendo!!!

Hasta luego.

;)

wonder boy 05-05-2004 01:12:25

solo una aclaracion, cuando digo "nosotros" me refiero a MI grupo de trabajo, que al igual que Slash no podemos hacer andar ciertas cosas, simplemente eso, quizas deberia haber creado otro hilo, no lo quise hacer porque no me parecio logico. Pero visto que hay cosas que no entiendo o no se explicar, voy a repetirme en otro hilo para poder determinar que es lo que estoy haciendo mal, disculpen si estuve errado en algun concepto o cometi algun error involuntario, igual gracias!!!

Slash 05-05-2004 16:03:16

haber...parece ser que este señor tiene mas o menos el mismo problema que yo, aunque no estoy seguro.
Lo que me pasa es que nececito que mi cgi haga una consulta en una db que esta en el servidor y despues me devuelva una pagina html con una respuesta, puntualmente un listado.
Aver si nos ponemos deacuerdo, yo simplemente quiero que cualquier persona entre por internet con un web browser me pase un dato (ya sea con el metodo "post" o "get") con ese dato el cgi hace una consulta, en la db que esta en el server, y me da como respuesta un html con los datos que saco de ahi.
Ha y por cierto el server usa IIS en una maquina con win XP que tiene instalado IB6 y Delphi7.

Espero los datos sean suficientes desde ya muchas gracias y PORFAVOR DENME UNA MANO QUE YA PROVE DE TODO Y NO FUNCIONA.

jachguate 05-05-2004 16:17:24

Pero has dicho antes que si te funciona de esta manera, no??

O donde si funciona y donde no??

Donde está la base de datos?
Has instalado el cliente de IB en el server?

Slash 06-05-2004 15:46:09

Claro de esta forma funciona solamente si navego desde el server.
La db esta en el server y el server tiene instalado IB.

jachguate 06-05-2004 19:09:00

Si podes navegar desde el server, y no desde otro equipo, suena mas a algo de configuración de tu webserver... que hace algo diferente cuando se conecta un equipo remoto...

Porque no te instalas mejor el apache y probas de nuevo??

eso te lo digo porque es el webserver que yo uso, y no he tenido este tipo de inconvenientes...

Otra opción es leerte las opciones de configuración del IIS y revisar... revisar y revisar para encontrar el fallo.

Hasta luego.

;)

Slash 07-05-2004 15:05:53

Sipis, me parece que no me van a quedar otras opciones.
Muchas gracias por la ayuda :D
Creo que voy a optar usar apache...
...y otra vez gracias.


La franja horaria es GMT +2. Ahora son las 01:52:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi