Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Error al intentar insertar o modificar datos en tablas. (https://www.clubdelphi.com/foros/showthread.php?t=89606)

ruedabeat2003 24-12-2015 00:48:34

Error al intentar insertar o modificar datos en tablas.
 
Saludos.
Tengo una aplicacion web desarrollada en CodeGear(Delphi 2007), la cual esta compilada en una DLL y sin acceso al codigo. Despues de caerse el servidor donde estaba corriendo la aplicacion web sobre IIS 6.0, windows server 2003 y BD Informix, recuperé la configuracion del IIS hasta que finalmente pude echar a andar la dll. Tras sufrir con un ODBC que no tenia su configuracion, pude ya ejecutar la aplicacion desde mi navegador y acceder a la BD(informix). Es decir puedo ya hacer consultas de información, pero cuando pretendo hacer alguna modificacion de datos(Update/Insert) me genera el error: "Cannot perform this operation on a closed dataset". Cualquier operación que involucre modificacion de datos me arroja este error, las consultas corren sin problema. Descarto que tenga que ser algo relativo al codigo ya que nunca se ha tocado y es la misma DLL de siempre. Solo me queda pensar que se trata de la configuracion del IIS, del ODBC o bien de la BD(Informix).
Pude ya echar a andar la aplicacion, pero no pude ejecutarla de manera correcta por este error.

De antemano agradezco su ayuda y sus tips.
Saludos.

Casimiro Notevi 24-12-2015 01:04:35

Echa un vistazo a estos enlaces.

ruedabeat2003 28-12-2015 19:04:12

Bien ya he consultado todos los Links y todos hacen referencias a errores en Código. En mi caso, el código ha funcionado por años hasta que se ha caido el servidor. Tratandose de una DLL el codigo no ha sufrido cambio alguno. Así que me hace pensar que pudiera ser algo en la configuración del ODBC o el IIS. Estoy ya atorado con este error y cualquier tip relativo a ello me sería de gran ayuda.
Saludos. :confused: :confused: :confused:

giulichajari 21-01-2016 03:11:00

Cita:

Empezado por ruedabeat2003 (Mensaje 500845)
Bien ya he consultado todos los Links y todos hacen referencias a errores en Código. En mi caso, el código ha funcionado por años hasta que se ha caido el servidor. Tratandose de una DLL el codigo no ha sufrido cambio alguno. Así que me hace pensar que pudiera ser algo en la configuración del ODBC o el IIS. Estoy ya atorado con este error y cualquier tip relativo a ello me sería de gran ayuda.
Saludos. :confused: :confused: :confused:

Por mas que el codigo haya funcionado por años... tampoco habias previsto la caida del servidor.. osea es una situacion extrema...

Los insert y update no retornan cursores. Es decir se agrega o modifica un registro pero no es como un select. El error te esta diciendo que falta abrir el dataset:
Dataset. Open;
Y lo mas probable es que los querys no esten activos, dado que el servidor esta caido, entonces estan cerrados...
Otra situacion tipica es cuando se ejecuta una sentencia insert o update para asignar parametros y utilizar parametros como cuando se usa FieldByName o se accede a un campo del dataset este debe estar abierto. Y antes de usar execsql debe estar cerrado.
Pero el codigo debe estar preparado para ser ejecutado sucecivas veces... varios inserts o updates. Por ejemplo si al finalizar el proceso queda el query cerrado y luego quieres asignar parametros a la consulta insert no se podriA..


La franja horaria es GMT +2. Ahora son las 11:32:38.

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