SQl2000 / VB6 ADO, cryptacquirecontext error

Posted on 2002-07-01
Last Modified: 2007-12-19

Hi Guys

Having a problem where i'm happily running my VB6 application against a sql2000 database.

My VB6 application will do a certain number iterations (reading from a recordset, and then inserting records into a table), and then it
will fall over with the following error message.

Run Time Error ='2147467259 (80004005)' :

CryptoAPI function 'CryptAcquireContext' failed. Error 0x8009001d:
(Error description unavailable)

At this point, I try closing the ADO connection, and re-opening, and I get the same error.

Whenever I try to load another windows program (i.e. Windows Explorer), I get a 'not enough memory to load program' error

I know that I have memory avaliable, (at least 80mb is being reported in the 'Free Physical Memory').

If I try running the SQL Insert statment in SQL Query Analyser, the insert works perfectly. (And I can also disconnect / reconnect to the SQL Server)

The only way to get my VB6 App to run the SQL Insert line is to stop the SQL Server process, and re-start it.

Obviously this is not a great solution, as my code is running on a client's machine which I do not have control over.

I've looked on newsgroups, and forums, and have come across a few references to this problem, yet none of them have had definative answers.

Can anybody help me please?????

Question by:sb8gq
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 7121626
This what i found:

I think that you have the protocol encryption enabled, which uses the CryptoAPI. Unless you need this, you should disable it.
Independently of this, I could solve some problems with the CryptoAPI by
1) ensuring every user had full permissions to all the Crypto Hives in the registry
2) ensuring that no invalid/unknown users existed in the registry permissions for that hives.


Author Comment

ID: 7121646
Thanks for replying so quickly.

I'm not explicity using the Crypto API, so how do I disable the protocol encryption??

LVL 143

Accepted Solution

Guy Hengel [angelIII / a3] earned 400 total points
ID: 7121651
Start the "Server Network Utility" on the "Microsoft SQL Server" menu (Start->Program Files  is the default location). You will find the option in the first tab.

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 7125332
The option there does not allow you to explicitly set 'no encryption', only to enforece encryption.

I have tried various protocols and still no luck :(


Author Comment

ID: 7125436
The option there does not allow you to explicitly set 'no encryption', only to enforece encryption.

I have tried various protocols and still no luck :(

LVL 49

Expert Comment

ID: 8451612
Upon review of the comments here, I am recommending this disposition:

        points to angelIII

Please post a comment if you disagree.

DanRollins -- EE database cleanup volunteer

Expert Comment

ID: 8492645
per recommendation.

Community Support Moderator @Experts Exchange

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
A Stored Procedure in Microsoft SQL Server is a powerful feature that it can be used to execute the Data Manipulation Language (DML) or Data Definition Language (DDL). Depending on business requirements, a single Stored Procedure can return differe…
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed
Via a live example, show how to shrink a transaction log file down to a reasonable size.

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question