• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1194
  • Last Modified:

Sp_OACreate fails

Object not created - return code -2147024888
Source: ODSOLE Extended Procedure
Description:  Not enough storage is available to process this command

Any ideas why a call to sp_OACreate fails with error above? This happens after a period of days of running okay.
0
twoboats
Asked:
twoboats
  • 4
  • 4
1 Solution
 
ziolkoCommented:
>>This happens after a period of days of running okay.
check memory usage, my guess is that some COM/ActiveX is not releasing resources

ziolko.
0
 
ziolkoCommented:
make sure sp_OADestroy() is called for each sp_OACreate

ziolko.
0
 
twoboatsAuthor Commented:
Yeah, destroy is called.

"check memory usage, my guess is that some COM/ActiveX is not releasing resources"

I've coded up a create object, call method, destory object loop, and had that running in a loop until failure, and no failures as yet.

My understanding is that sp_OACreate objects are creating in memtoleave area??? How would I monitor that?
0
2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

 
twoboatsAuthor Commented:
I've got Quest's spotlight on windows enterprise monitoring - it shows phys memory use fluctuating a very small amount, and virtual memory static.
0
 
ziolkoCommented:
dunno about memory area used by sp_OACreate.
but the message is clear, are you creating third party object or is it some standard microsfot's one?
anyway -2147024888 decimal is 80070008 hex maybe this willl help you find something

ziolko.
0
 
twoboatsAuthor Commented:
It's calling an in-house developed object.

will look at the hex...
0
 
twoboatsAuthor Commented:
I believe I've found the problem.

The apps running against the db use lots of dynamic \ embedded sql.

I think that some of this is causing execution plans >8k to be produced, and thus to be serviced from memtoleave.

As these plans are not reused (because values are hard coded into them), the demand on memtoleave grows, until not enough is available to service the sp_oacreate.

0
 
ziolkoCommented:
hmm good to know, i'll add it to my knowledgebase:)

ziolko.
0

Featured Post

[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now