![]() |
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. |
Y en que carpeta de la otra máquina está el gds32.dll??
Tiene instalado el cliente interbase? |
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 |
A ver a ver...
No podria el mismo Slash explicar lo que pasa?? :confused: en fin... yo me imagino que cuando dice: Cita:
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. ;) |
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 |
Cita:
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:
Cita:
Hasta luego. ;) |
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!!!
|
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. |
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? |
Claro de esta forma funciona solamente si navego desde el server.
La db esta en el server y el server tiene instalado IB. |
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. ;) |
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 00:24:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi