Re: not enough storage... error using GetRows
From: danreber (danreber_at_discussions.microsoft.com)
Date: 01/31/05
- Next message: Paul Clement: "Re: JOIN ISAM text database"
- Previous message: Jan Hyde: "Re: Application error -2147217833 String or binary data would be t"
- In reply to: Mark J. McGinty: "Re: not enough storage... error using GetRows"
- Next in thread: Mark J. McGinty: "Re: not enough storage... error using GetRows"
- Reply: Mark J. McGinty: "Re: not enough storage... error using GetRows"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 31 Jan 2005 06:37:07 -0800
After the rows were dumped into the array the memory used was ~500MB but the
array only contained ~150,000 rows.
I did a select into using the sql statement in question and ran a sproc to
get the total table size on sql server, it returned 195 MB. Considering that
I had 1.55 GB of RAM available when the rows (678,099 to be exact) were
returned...so I don't think that it can be a resource issue, I think that it
is a bug in the GetRows method.
I can't change the sql statement because my application is an adhoc data
analysis application and that is just what the user selected.
I may need to use the Rows, Start params to get chunks of data and dump the
chunks into multiple arrays.
Thanks for the response, if you have any other ideas then please let me know.
danreber
"Mark J. McGinty" wrote:
>
> "danreber" <danreber@discussions.microsoft.com> wrote in message
> news:E86348EA-C999-439D-A3B5-43F29BC2C1CD@microsoft.com...
> > More info:
> >
> > I tested the app in the VB IDE. I placed a breakpoint at
> >
> > DataArray = rsData.GetRows(adGetRowsRest)
> >
> > At that point I had 1.55 GB of RAM (out of 2GB) available. When GetRows
> > was
> > called the amount of RAM spiked to 550 MB RAM used, the error was raised
> > and
> > the RAM went back down to 450 MB used. I copied the line of code to the
> > immediate window. After executing the line and getting the error three
> > times, on the fourth time the line ran fine and the rest of the code
> > worked
> > without any issues.
> >
> > So I don't think that it is a system resources issue.
>
> Did you try it again after that? How much mem was committed after it
> succeeded? I'd say it's almost certainly a resource issue.
>
> GetRows accepts a max rows optional parameter, experiment with that to limit
> return sizefind the threshold, and see if you can estimate the average size
> of a row in this data, to make a scientiffic estimate for memory consumption
> if/when it succeeds.... if you have image or text fields returned in this
> set, you really need to rethink. (You likely need to do that regardless.)
>
>
> -Mark
>
>
>
>
> > "danreber" wrote:
> >
> >> I have a client that is returning >600K rows from a sql server using a VB
> >> application. I am referencing ado 2.6 in the app but he has windows xp
> >> sp2
> >> (I think that has ado 2.8???). When the data is fetched I use GetRows to
> >> poplulate an array. As soon as GetRows is called I get an error "not
> >> enough
> >> storage is available to complete this operation".
> >>
> >> I have searched the internet and I can't find much about it. I did find
> >> a
> >> refernce to AppenChunck but I am not using that.
> >>
> >> I tested the app on my PC
> >>
> >> 2 GB RAM
> >> 3.6 GHtz
> >> Windows XP SP 2
> >> MDAC 2.8 SP1
> >>
> >> and I get the same error. Does anybody have any ideas?
> >>
> >> Thanks
> >>
> >> danreber
> >>
>
>
>
- Next message: Paul Clement: "Re: JOIN ISAM text database"
- Previous message: Jan Hyde: "Re: Application error -2147217833 String or binary data would be t"
- In reply to: Mark J. McGinty: "Re: not enough storage... error using GetRows"
- Next in thread: Mark J. McGinty: "Re: not enough storage... error using GetRows"
- Reply: Mark J. McGinty: "Re: not enough storage... error using GetRows"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|