Re: stable driver for multithreaded environment (IIS 5.X)

From: "Markus Donath" <md-postgres-donath(at)netapps(dot)de>
To: pgsql-odbc(at)postgresql(dot)org
Subject: Re: stable driver for multithreaded environment (IIS 5.X)
Date: 2003-11-21 14:24:45
Message-ID: bpl77u$1mii$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Hello,

thank you for your reply.
The application ran fine with ORACLE, accessed over OLEDB.
I do not share connections over multiple threads. The Application uses the
Windows ODBC connection pooling. For that, connections are always closed
immediately after a statement was done, so that these connections are always
available for connection pooling when they are not in use. Connection
pooling is the standard way when using IIS with ADO for data access, and it
works fine e.g. for ORACLE and MS SQL Server. One connection is always used
by just one thread (i think it would not work in any other way ?!)

Did anyone here use OLEDB over ODBC in a similar environment ?
Which driver was used in that case ?

thank you,
Markus.

<markw(at)mohawksoft(dot)com> schrieb im Newsbeitrag
news:39049(dot)24(dot)60(dot)194(dot)163(dot)1069423072(dot)squirrel(at)mail(dot)mohawksoft(dot)com(dot)(dot)(dot)
> While I am not an ODBC developer, my first inclanation would be to examine
> your code for areas where you may be using the same connection resources
> across multiple threads.
>
>
> > hello,
> >
> > i've been making load-tests with Microsoft IIS 5.0 on Windows 2000,
> > accessing postgresql via the Microsoft "OLEDB over ODBC" Driver using
> > Postgres ODBC 7.03.0200.
> > MDAC Version is 2.7 SP1 refresh.
> > This version seems to have stability problems in a multithreading
> > environment, same problems occur using version 7.03.0100:
> >
> > 1. the first bytes of column-data are corrupted under heavy load on the
> > webserver machine
> > 2. after some minutes of testing, the webserver starts blocking threads
> > because of unhandled MDAC errors.
> > Here is a stack-dump of one of the blocked threads:
> >
> > Warning: This thread is blocked by a Message Box
> > Message Box Text: Runtime Error!
> >
> > Program: C:\WINNT\system32\dllhost.exe
> >
> > R6025
> >
> > - pure virtual function call
> >
> >
> >
> > Thread Type: MDAC Error being handled. Possible ASP page
> > Executing Page: R:\INETPUB\XXXX\SHOP\FOLDER.ASP
> >
> > # ChildEBP RetAddr
> > 00 0202d99c 77e234d6 USER32!NtUserWaitMessage+0xb
> > 01 0202d9d0 77e33f21 USER32!DialogBox2+0x216
> > 02 0202d9f4 77e23fdd USER32!InternalDialogBox+0xd1
> > 03 0202dcac 77e24379 USER32!SoftModalMessageBox+0x752
> > 04 0202ddf4 77e23871 USER32!MessageBoxWorker+0x247
> > 05 0202de4c 77e24104 USER32!MessageBoxExW+0x77
> > 06 0202de7c 77e232a2 USER32!MessageBoxExA+0xa0
> > 07 0202de9c 7800bec3 USER32!MessageBoxA+0x49
> > 08 0202debc 78007e22 MSVCRT!__crtMessageBoxA+0x81
> > 09 0202e09c 78007f87 MSVCRT!_NMSG_WRITE+0x11f
> > 0a 0202e0a4 7800bc7a MSVCRT!_amsg_exit+0x25
> > 0b 0202e0ac 1f33f360 MSVCRT!_purecall+0x7
> > 0c 0202e0b4 1f334aaf msadce!CSingleResult::~CSingleResult+0x27
> > 0d 0202e0bc 1f35244b msadce!CSingleResult::`scalar deleting
> > destructor'+0x8 0e 0202e0e8 1f352518
> > msadce!CMultipleResults::mrInitFetch+0xb1
> > 0f 0202e11c 1f43fa41 msadce!CMultipleResults::GetResult+0xbd
> > 10 0202e15c 1f43f72c msado15!CConnection::Execute+0x13f
> > 11 0202e318 1f43f5e6 msado15!_ExecuteAsync+0x16e
> > 12 0202e328 1f43f4f9 msado15!ExecuteAsync+0x1f
> > 13 0202e3f0 1f43ef4d msado15!CQuery::Execute+0x9fe
> > 14 0202e498 1f43a33c msado15!CCommand::_Execute+0x147
> > 15 0202e4d8 1f438174 msado15!CXLockContext::~CXLockContext+0x14
> > 16 0202e638 1f4448f7 msado15!CRecordset::Open+0x571
> > 17 0202e69c 779ffe61 msado15!CRecordset::put_CursorLocation+0x93
> > 18 0a96c800 00650073 OLEAUT32!APP_DATA::FreeCachedMem+0x85
> > WARNING: Frame IP not in any known module. Following frames may be
> > wrong. 19 000008ec 00000000 0x650073
> >
> >
> > As with all multithreading issues, the server runs fine when not under
> > stress.
> >
> > Is there a stable version of this driver available (maybe an older
> > version) ?
> > Can anybody recommend a commercial driver version ?
> >
> > thank you,
> > Markus.
> >
> >
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 8: explain analyze is your friend
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Philippe Lang 2003-11-21 15:34:06 Timeout with Access 2000 linked tables?
Previous Message markw 2003-11-21 14:00:19 Re: pls help