Solved

SQl2000 / VB6 ADO, cryptacquirecontext error

Posted on 2002-07-01
8
555 Views
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?????


Steve
0
Comment
Question by:sb8gq
[X]
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
8 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 7121626
This what i found:
http://dbforums.com/archive/68/2001/10/4/181489

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.

CHeers
0
 
LVL 1

Author Comment

by:sb8gq
ID: 7121646
Thanks for replying so quickly.

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


Cheers
0
 
LVL 143

Accepted Solution

by:
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.

CHeers
0
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 
LVL 1

Author Comment

by:sb8gq
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 :(

Steve
0
 
LVL 1

Author Comment

by:sb8gq
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 :(

Steve
0
 
LVL 49

Expert Comment

by:DanRollins
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
0
 

Expert Comment

by:SpideyMod
ID: 8492645
per recommendation.

SpideyMod
Community Support Moderator @Experts Exchange
0

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

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

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…
What if you have to shut down the entire Citrix infrastructure for hardware maintenance, software upgrades or "the unknown"? I developed this plan for "the unknown" and hope that it helps you as well. This article explains how to properly shut down …
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example, show how to shrink a transaction log file down to a reasonable size.

622 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