Jim Lawrence
accessd at shaw.ca
Sat Jun 18 18:38:44 CDT 2011
Hi John:
It can not be too different from the standard method:
/*Stored Procedure
CREATE PROC dbo.RECompanyConfigurationGET
@intCompanyCode int
AS
SELECT DISTINCT CompanyConfig.CompanyCode, CasinoCompany.CompanyName,
CompanyConfig.InitialLetterLocation,
CompanyConfig.FollowupLetterLocation, CompanyConfig.ExpiryLetterLocation
FROM CasinoCompany INNER JOIN CompanyConfig ON
CasinoCompany.CompanyCode = CompanyConfig.CompanyCode
WHERE CompanyConfig.CompanyCode = @intCompanyCode
ORDER BY CasinoCompany.CompanyName;
GO
------------------------------------------------
'Calling code from Access
Dim rs1 As ADODB.Recordset
Dim objCmd As ADODB.Command
Set rs1 = New ADODB.Recordset
Set objCmd = New ADODB.Command
With objCmd
.ActiveConnection = gstrConnection 'Connection string
.CommandText = "RECompanyConfigurationGET"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("@intCompanyCode", adInteger,
adParamInput, , typCmpConf.CompanyCode)
End With
With rs1
.CursorLocation = adUseClient
.Open objCmd, , adOpenStatic, adLockReadOnly
If .BOF = False Or .EOF = False Then
.MoveLast
...
End if
End With
Jim
-----Original Message-----
From: dba-sqlserver-bounces at databaseadvisors.com
[mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Friday, June 17, 2011 7:51 PM
To: Access Developers discussion and problem solving; Sqlserver-Dba
Subject: [dba-SQLServer] Execute permission denied
I am trying to figure out how to use stored procedures to return recordsets
to Access. I created a
stored procedure that accepts a parameter, the stored procedure pulls a
recordset and if used like so:
exec usp_MySP 1
returns a recordset to the query window in SQL Server.
So, now how to get it to work in Access. I thought I was going to create a
pass through query
dynamically, save it and then "open" the query to get the recordset.
The query is a passthrough query
usp_InmatesForVolunteers 1
The ODBC connect string is:
ODBC;DRIVER=SQL
Server;UID=MyUser;PWD=MyPassword;SERVER=5.58.170.179;DATABASE=InmateCheckout
;
All of this (except for the database part) comes directly out of a DSN file
which works to link
tables and views into Access. Tested and working for that purpose.
So the passthrough query fails. Error:
[Microsoft][ODBC Sql Server Driver][SQL Server]The execute permission was
denied on the object
'usp_InmatesForVolunteers', database 'InmateCheckout', schema 'dbo'. (#229)
Interestingly if I remove the database part of the connection string it
returns exactly the same
error message, even mentioning that database. Thus the user itself being
mapped to that database
seems to be working as well.
As I said, this all works for linking SQL Server tables and views, just not
executing the sp.
Any ideas?
--
John W. Colby
www.ColbyConsulting.com
_______________________________________________
dba-SQLServer mailing list
dba-SQLServer at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/dba-sqlserver
http://www.databaseadvisors.com