Delphi 7 Web Application + ADO + Apache 2.2

mbeylis

Senior Member
Joined
Jun 8, 2006
Messages
564
Reaction score
2
Location
Benoni
Hello

We have a Delphi 7 Web Application that has been running on a Windows 2000 R2 Server with Apache 2.2 just fine. The application made use of the BDE to connect to an Informix Database

We recently decided to remove dependencies on the BDE and I have been tasked on switching to ADO. This I have managed to do successfully and the new Web Application works fine on my Windows XP 32 bit machine fine. However when I deploy it on our test Windows 7 64bit machine or the live Windows 2000 R2 64 bit server it fails to work and gives the following error

Exception: EOleSysError
Message: The specified module could not be found

I have done some searching on the web and did come across this proposed solution : https://forums.embarcadero.com/thread.jspa?messageID=399769 but unfortunately this did not solve my problem

So now I am stuck and was hoping that someone might have a solution or suggestions for me

Thanks
Mark
 
Firstly, I believe its Windows 2008 R2 and not Windows 2000 R2.

Secondly, the common denominator is the fact that it doesn't work on a 64-bit system. The message sounds like there is a DLL (module) that you're loading that either cannot be found or possibly, cannot be loaded. Do you know if you're running a 32-bit or 64-bit version of Apache? Assuming the web application runs in-process (not too familiar with Apache to tell you how you can check this, but just means that it runs inside Apache's process space), you may be trying to load a DLL of the incorrect bitness e.g. loading 32-bit DLL from a 64-bit process or vice versa. You also mention it works fine on your Windows XP system which suggests to me this is your development environment. Its possible that your development system has all the necessary DLLs but the production systems do not. You'll need to find out which libraries are needed by ADO and then deploy them with your application.
 
I will try an determine which ado dlls are required and add there location to the neccessary search paths

I have both a windows xp and windows 7 64 bit development environment. Debugging the application through the delphi ide actuaally results in the application working which lends to the theory of missing dlls, the ide knows where they are but the os not. Will test this theory

As for apache it is a 32 bit install and the web application is 32 bit aswell
 
Firstly, I believe its Windows 2008 R2 and not Windows 2000 R2.

Secondly, the common denominator is the fact that it doesn't work on a 64-bit system. The message sounds like there is a DLL (module) that you're loading that either cannot be found or possibly, cannot be loaded. Do you know if you're running a 32-bit or 64-bit version of Apache? Assuming the web application runs in-process (not too familiar with Apache to tell you how you can check this, but just means that it runs inside Apache's process space), you may be trying to load a DLL of the incorrect bitness e.g. loading 32-bit DLL from a 64-bit process or vice versa. You also mention it works fine on your Windows XP system which suggests to me this is your development environment. Its possible that your development system has all the necessary DLLs but the production systems do not. You'll need to find out which libraries are needed by ADO and then deploy them with your application.

Ok so apparently all the DLL's you need for ADO come installed with MDAC of which I have downloaded the latest version 2.8 and installed but still no joy :-<

While the machine is 64 bit both the Apache installed and the web application are 32 bit. Not sure installing 64 bit Apache would work or is required

This is frustrating
 
Apparently MDAC has been superseded by WDAC which is already part of the Windows 2008 R2. On a 64-bit platform, the 32-bit DLL and 64-bit DLLs are located in different folders so you need to ensure the correct ones are being loaded. Can you get any more information on the error such as from the Windows Event Log or Apache Log?
 
Both the Windows Event Log and Apache Event Log give no further information as to what might be causing the error :-<
 
If it's running apache why not just do this in Linux and not worry about anything else?
 
If it's running apache why not just do this in Linux and not worry about anything else?

Changing O/S at the moment not an option although if no solution for Server 2008 R2 is found might go this router eventually
 
Top
Sign up to the MyBroadband newsletter
X