ASP/ODBC request works only one time

FabriceP

New Member
Hello.

I'm trying to make requests on a progress DB by ASP via ODBC.

MERANT 3.60 progress v9.1B

My request works, but if I send it too fast , I've got an 3709 error. I have to wait for 30 seconds if I want to have a chance to obtain the correct recordset.

An idea ?
Thanks a lot ...
 

jongpau

Member
Hi,

How many servers have you got running on your database? Each ODBC request uses one server and MS may be locking your server longer than the actual request. I experienced delays of up to 60 seconds before a server was released (and each Progress server can only process one ODBC request). Try increasing the (maximum) number of servers on your Database in Progress Explorer.

Note: All this if memory serves me well.... I gave up on ODBC/ASP and Progress.... until Progress gets it working right :awink:
 

FabriceP

New Member
Thanks, that was this kind of problem, your memory is okay ;-) .

I have 8 cnx on my server. I shutdowned my base and restarted it, after it has worked about 20 minutes. I had to restart it again. After a moment, my web server has fallen down. I guess it's the Merant odbc driver, because I usually use oracle without any trouble.

Note : for my tests, I'm the only user with one select that gives 4 rows and 2 cols.

I would feel very comfortable if someone has informations to help me. I'm about to give it up too ...
 

jongpau

Member
Hi,

The only thing I know you could possibly try (without tweaking in the registry, which was suggested to me by Progress Tech Support back then - and did not work) is to do or check the following:
- Open Progress Explorer
- Select your database server and "drill down to" the DefaultServerGroup
- Check the value of "Number of servers". Try to set it to a higher value (for instance 5 or 10)
- Stop and restart your database server in the Explorer
- Test if this makes any difference to your ASP app

If the first server is still locked by the first request a second server *should* take on the next request.

HTH
 

FabriceP

New Member
Hi all.

I made new (comparative) tests :

- a script with one request (4 rows and 2 columns) launched manually 20 times works well.
- a script with 5.000 requests (the same) sequentially (connect, request, disconnect) works until 3.000 after, I've got an error.
- the same (5.000) script launched by 3 users fails after about 2 requests.

(the tests with the other DB works well)

Do I really need one app srv per simultaneous connection ?
Is there someone here who can give me experiences or things to try ?

Thanks a lot for your help ...

Fabrice.
 

jongpau

Member
Hi Fabrice,

That's exactly what Progress Tech Support told me when I encountered this problem. Here's a sniplet from the email I received about this:
"Yes, you will have to set the -Mn (maximum number of servers) parameter to a number that matches the amount of clients that are connecting. Each SQL-92 client require it's own broker."

So if you expect a maximum of say 50 simultaneous hits, you will have to set -Mn to 50 or higher (or use Progress Explorer to do this). I'd say the machine you run this on should have plenty of processing power and plenty of memory to handle all those brokers/servers efficiently.

Tech Support also gave a reference to a M$ KB entry:
http://support.microsoft.com/support/kb/articles/Q191/5/72.ASP and to a Progress KB Entry (20757).

HTH
 
Top