Ver Mensaje Individual
  #1  
Antiguo 19-06-2013
mario_2000 mario_2000 is offline
Miembro
 
Registrado: may 2006
Ubicación: Heredia, Costa Rica
Posts: 11
Reputación: 0
mario_2000 Va por buen camino
Post Error al crear adoquery en webservices corriendo en Windows Server 2008

Buenos días.

Tengo un webservice hecho en Delphi 7 que se conecta a una base de datos de SQL Server 2005, utilizando los componentes ADO. Cuando lo ejecuto en Windows Server 2003, de 32 o 64 bits, lo hace perfectamente.

Recientemente, tuve que instalarlo en un Windows Server 2008 R2 Standard de 64 bits. Pero no me funciona.

Resulta que tengo una función que construye dinámicamente los adoquery, les asigna la conexion, el sql, los ejecuta y luego los destruye), y en la línea marcada se genera un access violation:

Try
Result := True;
Log.Add('Q1. Creando Query',5,3);
//Procedimiento Log almacena strings en un stringlist y cada n cantidad de
//lineas las graba a un archivo de texto, que funciona como bitácora.
//Este procedimiento se utiliza en otras partes del sistema y no presenta
//problemas
Query := TADOQuery.Create(nil); //<-- access violation al invocar simplemente la creación del adoquery
Log.Add('Q2. Asignando Conexion,5,3);
Query.ConnectionString := sConn;
Log.Add('Q3. Sin Chequeo Parámetros,5,3);
Query.ParamCheck := False;
Log.Add('Q4. Asignando SQL,5,3);
Query.SQL.Add(Sql);
Log.Add('Q5. Ejecutando,5,3);
Query.Active := True;

//Se hacen otros procesos
//
//

FreeAndNil(Query);
except
on E: Exception do begin
Log.Add('Crear_Consulta --> Error : ' + E.Message + ' => ' + E.ClassName,5,3);
FreeAndNil(Query);
end;
end;

Cada vez que ejecuto el procedimiento se levanta la excepción y me graba en la bitácora los mensajes

Q1. Creando Query
Crear_Consulta --> Error: No se puede encontrar el módulo especificado=> EOleSysError

Alguien sabe que puede estar pasando para que corra en Windows Server 2003 y no lo haga en Windows Server 2008? Será algún asunto de configuración del Sistema Operativo?

Muchas gracias y saludos a todos los colegas.
Responder Con Cita