fussell
asked on
Problem with Web Server Application, ISAPI & CGI Stand Alone Executable on W2K & Win NT using IIS
When using a Delphi Web Server Application, ISAPI and CGI Stand Alone Executable, the program will not allow two browsers to be connected to the same database at the same time. The programs are installed on both W2K and Win NT servers using IIS. If one browser is already connected to the database, another browser from a different computer cannot connect until the other is finished. This is true no matter the database, whether it's MSSQL or a Client Access ODBC connection. I receive the following error.
<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<< <<<<<<<<<< <<<<<<<<<
Internal Server Error 500
-------------------------- ---------- ---------- ---------- ---------- ---------- ----
Exception: EDBEngineError
Message: An error occurred while attempting to initialize the Borland Database Engine (error $2B32)
>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<
Internal Server Error 500
--------------------------
Exception: EDBEngineError
Message: An error occurred while attempting to initialize the Borland Database Engine (error $2B32)
>>>>>>>>>>>>>>>>>>>>>>>>>>
ASKER
I made the change with no luck. I then rebooted the web server for kicks and still no luck.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I have not tested ADO in this instance as of yet. However, alot of our data comes from an AS/400. Client Access, which comes with the AS/400 OS, has an AS400 OLE DB Provider but when I use it in an ADO Query object in Delphi, the simplest query never comes back and seems to eat of all the virtual memory on my machine even though the test connection succeeds almost instantly. If I could resolve this issue I would probably never use the BDE again.
This is your error in the list of BDE Errors:
$2B32 (11058) = Share violation.
Perhaps the table is in exclussive mode?
Best Regards.
Marcos.
$2B32 (11058) = Share violation.
Perhaps the table is in exclussive mode?
Best Regards.
Marcos.
ASKER
No, it is a query.
ASKER
ADO did the trick, thanks.
I am having this exact same problem with CGI-Expert and Delphi, but I cannot use an SQL server. I just use BDE tables and point them directly to the Paradox .db files I created in Database Desktop. ADO (and dbExpress) require an SQL server right? How can I get around this multiple-web-access bug without having to setup a full-on SQL server? I don't want to have to use alias's or anything... I just want to say "Here's a table in a .db file... allow multiple IIS connections to read from it at the same time!" How hard is that?
ASKER
I've never actually worked with Paradox tables. However, you can use ADO against several types of databases besides SQL Server. Is it possible to set up an ODBC driver to access the Paradox tables? If so, you can use ADO. When building your ADO connection string use "Microsoft OLE DB Provider for ODBC Drivers".
Use BDEAdmin, Configuration tab, Sytem / Init.
Set SHAREDMEMLOCATION to 5BDE.