Thursday, November 11, 2010

Windows7 - Excel VBA - "ORA-01019 unable to allocate memory in the user side"

Operating System: Windows 7
Office 2007/2010

We have an Excel utility that connects to Oracle Database (hosted on a different machine) using ODBC. The code is written in Excel VBA and is always shipped as a macro along with excel file.

The utility was working perfectly fine in Windows XP client machines. But, when we tried to use the utility in Windows 7 machine, it is throwing an error - "ORA-01019 unable to allocate memory in the user side".

We tried lot of options and finally able to resolve the error by performing below steps:

1) Change User Settings
  • Navigate to : Control Panel > User Accounts > User Accounts > "Change User Account Control settings"
  • Set the value as "Never Notify".
  • Click on Ok button.

2) Grant "Create global objects"
  • Navigate to : Start > Run > gpedit.msc
  • In Local Group Policy window, Navigate to : Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment"
  • Select "Create global objects", right click and navigate to properties windows
  • Click on "Add User or Group" button and add users to this group
3) Delete existing XSD files

    In Windows XP:
  • CD \Document And Settings
  • DEL /S /A:H /A:-H *.EXD
    In Windows 7 or Vista:
  • CD \Users
  • DEL /S /A:H /A:-H *.EXD
4) Reboot machine

After performing above steps, I am now able to connect from my Excel VBA to oracle database using ODBC without any errors.

17 comments:

  1. This solved my issue. I Really appreciate it for posting in the web

    ReplyDelete
  2. I tried it and got even my .NET program failing to connect with Oracle database. Please do not try this, unless you are very sure.

    And don't post any dangerous stuff online without any prior notice about its nature.

    ReplyDelete
  3. thanks! solved an issue with a vb app that we have connecting to oracle.

    ReplyDelete
  4. Thanks A lot.... It's work for me....

    ReplyDelete
  5. If we give a local administrator privilege to that user means we can solve this issue,
    HOW TO DO......
    In run bar we have to type lusrmgr.msc > go to Groups > go to Administrator > here we have to add the user which having this problem.

    ReplyDelete
  6. This error can also show up when you have the oracle instant client installed (in addition to the full client). For example I had the instant client in client_1 and the full client in client_2. Using the deinstall utility to remove client_1 solved the problem.

    ReplyDelete
  7. Is there a fix like this for Windows XP?

    ReplyDelete
  8. I tried everything successfully still getting that error.

    ReplyDelete
  9. Thanks a lot, this worked like a charm!

    ReplyDelete
  10. .NET development, ASP development, SharePoint development, Microsoft development , software development,Microsoft development Singapore – Total eBiz Solutions Home

    ReplyDelete
  11. Dear Friends i'm using VB dotnet frontend and backend oracle 10g. when i run the VB dot net i'm facing same like this problem....{ ORA-01019: unable to allocate memory in the user side} i can not run my program, i'm using windows vista ultimate any one can help to solve my problem.

    ReplyDelete
  12. Nice opinion.Thanks for sharing.
    The post is written in a very good manner and it entails much useful information for me excel programmer. I am happy to find your distinguished way of writing the post.

    ReplyDelete
  13. hy, have you got solution for windows 8?

    ReplyDelete
  14. Hi, I cannot have it working on windows server 2012 R2. have you got solution for windows server 2012 R2?

    ReplyDelete
  15. still got error....please help

    ReplyDelete
  16. PokerStars Casino Promo Code & Bonus Code - MJHub
    Looking 의정부 출장샵 for an 고양 출장마사지 online PokerStars Casino promo code or 광주광역 출장마사지 a PokerStars Casino bonus 울산광역 출장안마 code? Learn 오산 출장안마 about promo codes, free spins, and more.

    ReplyDelete