Solved

VB / ADO picks wrong version of stored proc to execute.

Posted on 2002-07-15
5
184 Views
Last Modified: 2010-05-02
I have two procs with the same name.  One is compiled under DBO, and the other is compiled under my user ID.

The code to set up the command object is

    Dim cmd As ADODB.Command
    Set cmd = CtxCreateObject("ADODB.Command")
       
    'Run the procedure
    cmd.ActiveConnection = sConnect
    cmd.CommandType = adCmdStoredProc
    cmd.CommandText = strSQL

By doing this, ADO has always grabbed the version of the stored proc that was compiled under my ID, if there was one, before trying to grab the one compiled under DBO.

However, I notice that when I check the parameters on the Command object after executing that last line, I see that the parameters are from the proc executed under DBO.

This only started happening today.  This component has worked correctly for almost a year.

Any ideas why ADO would pick the DBO proc over the proc with the USER ID on the connection?
0
Comment
Question by:KLRDER
[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
5 Comments
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 7155270
Try calling it explicitly as follows:
strSQL = "dbo.SprocName"
cmd.CommandText = strSQL

Also, please maintain your open questions:
Small table escalating to table locks Date: 06/10/2002 09:29AM PST  
http://www.experts-exchange.com/mssql/Q_20309894.html
Retrieving value from xp_cmdshell Sql Server 2000 Date: 02/15/2002 11:42AM PST
MTS/database performance issue  Date: 06/25/2002 12:58PM PST
http://www.experts-exchange.com/visualbasic/Q_20316127.html

Thanks,
Anthony
0
 
LVL 18

Expert Comment

by:mdougan
ID: 7155340
I would check to see which groups have been granted permissions on the dbo proc.  It is possible that the dbo proc was not granted to Execute on public before, and now it is (though I would still expect your user qualification to be used before any other qualification granted through a group you are a member of).

You might also take a look at the connect string to ensure that you are logging in as you, and that it hasn't been changed to log the user in as dbo.

You might also look to see if you've been added to the dbo group.
0
 

Author Comment

by:KLRDER
ID: 7155345
I found out a few minutes ago that the .NET version of MDAC was installed on our test server.

This is a bug in MDAC.
0
 
LVL 18

Expert Comment

by:mdougan
ID: 7155790
You can post a zero point question to the community support topic area, giving a link to the URL for this question and ask them to delete it and refund your points.

Congratulations!
0
 

Accepted Solution

by:
ComTech earned 0 total points
ID: 7233524
As per request, this question will be placed in PAQ.

Regards,

ComTech
Community Support
Administrator @ EE
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

Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

717 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