Mi programa funciona en mi PC, pero no en el Servidor

26/06/2005 - 17:12 por Juan De Leon | Informe spam
Hola, tengo un enorme problema y espero que alguien me pudiera ayudar.

Desarrollé una aplicación web que está finalizada. Todo funciona bien, al
menos en mi casa, donde lo programé. Pero al instalarlo en la empresa dentro
del servidor en el que va a trabajar, mi programa truena en un punto diciendo
que "No se puede abrir ''; el archivo ya está abierto."
Esto es como si una conexión no se hubiese cerrado, pero la misma aplicación
instalada en mi computadora no me marca ningún error y funciona de maravilla.

Yo estoy utilizando Windows XP Pro SP y en el servidor donde falla utilizan
Windows 2000.

El sistema es una aplicación web en C#/ASP.NET que maneja un archivo de
Access (.MDB). La única diferencia que hay de uno a otro es que el archivo de
base de datos que ellos utilizan contiene nuevos datos a diferencia del
archivo MDB que yo tengo para programar, que es viejo.

¿Puede ser alguna propiedad que cambiaron del archivo .MDB? Me urge
solucionar esto.. muchas gracias :-S
 

Leer las respuestas

#1 Ronald Ricardo Ramirez Moran
26/06/2005 - 17:33 | Informe spam
Hola que tal Juan,

Con respecto a tu problema, lo que te recomendaria es que hagas pruebas, con
las 2 bases de datos para deteminar si es el caso de que el programa
unicamente funcione con una de ellas, lo que es muy posible con la tuya.

Lo que tambien deberias de revisar es si en tu aplicacion abres la base de
datos alguna vez, y no la cierras, pues de otra forma esto te devolveria el
error de "No se puede abrir ''; el archivo ya está abierto.", ya que
efectivamente se encuentra abierta; como buena practica de desarrollo de
aplicaciones web, es aconsejable que cada vez que abras una conexion, la
cierres totalmente, por ejemplo revisa el siguiente codigo:

try
{
oMiConexion.Open();
//Codigo de la transaccion
oMiConexion.Close();
}
catch
{
//codigo de la excepcion
}

En este caso, supongamos que se produce una excepcion, entonces nunca se
cierra la conexion, causando saturacion en tu base de datos, y te dara un
error no controlable. Ahora, ¿como arreglas esto?, Revisa el siguiente codigo:

{
oMiConexion.Open();
//Codigo de la transaccion
}
catch
{
//codigo de la excepcion
}
finally
{
//Se cierra aun si hubo excepcion
oMiConexion.Close();
}

En este caso como te puedes dar cuenta, se cierra la conexion, aun si hay
excepcion dentro del codigo, lo que te dara mas control sobre la aplicacion.

Saludos cordiales!

Ronald R. Ramirez Moran
Analista Programador

Weblog: http://DlanorOk.blogspot.com

Voluntario de Ineta Latam { http://www.ineta.org/latam }
Coordinador de FoxEcuador { http://groups.msn.com/FoxEcuador }
______________________________________________________
Favor de responder en los foros publicos asi todos se benefician.
Si usas la Web para leer estos Grupos de Noticias, vota si las
aportaciones te ayudaron o no.
______________________________________________________




"Juan De Leon" escribió:

Hola, tengo un enorme problema y espero que alguien me pudiera ayudar.

Desarrollé una aplicación web que está finalizada. Todo funciona bien, al
menos en mi casa, donde lo programé. Pero al instalarlo en la empresa dentro
del servidor en el que va a trabajar, mi programa truena en un punto diciendo
que "No se puede abrir ''; el archivo ya está abierto."
Esto es como si una conexión no se hubiese cerrado, pero la misma aplicación
instalada en mi computadora no me marca ningún error y funciona de maravilla.

Yo estoy utilizando Windows XP Pro SP y en el servidor donde falla utilizan
Windows 2000.

El sistema es una aplicación web en C#/ASP.NET que maneja un archivo de
Access (.MDB). La única diferencia que hay de uno a otro es que el archivo de
base de datos que ellos utilizan contiene nuevos datos a diferencia del
archivo MDB que yo tengo para programar, que es viejo.

¿Puede ser alguna propiedad que cambiaron del archivo .MDB? Me urge
solucionar esto.. muchas gracias :-S

Preguntas similares