Re: MS Provider For Oracle : Memory Leak ?
*few* situations ? what about export to text file ?
anyway, the .CacheSize property would neatly solve the problem --- if it
D. Patrick Hoerter wrote in message <firstname.lastname@example.org>...
> As a small aside...there are precious *few* situations in which you
>would want to open 1,000,000 records in a resultset. Is there any way to
>transfer some of that processing to the server, i.e. stored procedures, or
>COM server? I realize it doesn't fix the base problem (the leak), but
>it would be more efficient, IMO.
>D. Patrick Hoerter
>John Grandy <JohnAGrandy@csi.com> wrote in message
>> i am on VB6 SP3 , MDAC 126.96.36.19902.3 (GA) (SP2) , NT4 SP5
>> MS Knowledge Base article Q236583 describes an MS OLE DB Provider For
>> memory-leak bug which occurs when using ICommandText.Execute()
>> to ADODB.Recordset.Open() and ADODB.Connection.Execute() ).
>> that article was updated to a "FIX" on dec 29 1999. the fix is only
>> available as a special patch , which apparently you can obtain only by
>> directly phoning ms support and asking for it. i have not yet been able
>> get in touch with the right people so as to get my hands on the patch.
>> has anyone else ??
>> also, i am suspicious that this patch might address a much smaller memory
>> leak than the one i am experiencing. i am experiencing my "memory leak"
>> only when using ADO with client-side cursors. basically, ADO will
>> to transfer the entire recordset from the server to the client until it
>> out of ram + virtual memory on the client , at which point it will fail
>> a provider-specific error "7 out of memory"
>> so if a million record recordset is opened and each record needs 1000
>> storage in the local cache then up to 1 gig of ram+virtual memory will be
>> filled up on the client . . . . . assuming that much is available.
>> this is an absurd situation, considering that ADODB.Recordset.CacheSize
>> the property which is suppossed to directly control approximately how
>> memory can be grabbed by the recordset on the local client. i have this
>> property set to the default = 100
>> i do not believe that setting ADODB.Recordset.MaxRecords is a solution as
>> this will artificially truncate my recordset -- so that it does not match
>> the full intention of my SQL statement