Hi,
I am working on an Access application where the author used SQL back
end via linked tables.
I wrote some general functions that would execute pass through queries
and was going to call them for all new DB interaction.
They work fine as long as I go into SQL Server and give the User
Select, Update, Insert and Delete privileges. However this Access
application using internal queries is running fine with virtually every
table in the SQL database not offering ANY privileges to this user.
As this is a large organization I would rather not go thru the "red
tape" with the DBA staff to change numerous SQL DB settings to support
pass through so I will probably continue what the author started.
My question is... what is the difference? How does Access through
linked tables successfully Select, Update, Insert and Delete when the
user ID used to connect doesn't have any privilges according to SQL
Server?
Thanks
Rick Brandt - 18 Feb 2005 13:32 GMT
> Hi,
>
[quoted text clipped - 17 lines]
> user ID used to connect doesn't have any privilges according to SQL
> Server?
The links must have been created using an account that does have privileges and
that account info was saved as part of the link definitions. The authorities on
the server DO prevail over anything in the client.

Signature
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com
ZRexRider - 18 Feb 2005 13:45 GMT
Yeah that makes sense. The only user having privileges I spoke of is
good ole dbo and all of the linked tables start out with dbo_ prefix.
Thanks
ZRexRider - 18 Feb 2005 14:14 GMT
But.... on the other hand there are a number of Crystal Reports that
run against this SQL database. They connect directly (not via Access
linked tables) and the connection string uses a userid/password that
Does Not have Select rights on the DB. The report has embedded SQL
and it runs fine.
How does that work?
Rick Brandt - 18 Feb 2005 16:11 GMT
> Yeah that makes sense. The only user having privileges I spoke of is
> good ole dbo and all of the linked tables start out with dbo_ prefix.
>
> Thanks
The prefix however doesn't say anything about the user who created the link.
Only who owns the object on the server.

Signature
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com
ZRexRider - 18 Feb 2005 14:07 GMT
Yeah that makes sense. The only user having privileges I spoke of is
good ole dbo and all of the linked tables start out with dbo_ prefix.
Thanks
Bri - 18 Feb 2005 17:28 GMT
ZRexRider,
Take a look at the Roles that the Userid has assigned to it. It could be
getting its rights through that rather than any explicitly granted to
the UserID. This is comparible to Accesses User/Group security in that
you can assign rights to a group and then put the User into the group.
Then, even though the User doesn't have any rights, they get the rights
assigned to the Group.
--
Bri
> Hi,
>
[quoted text clipped - 19 lines]
>
> Thanks
ZRexRider - 18 Feb 2005 23:47 GMT
yeah that was basically it. This user was assigned to a role which had
all of the rights needed.
Thanks everybody for taking the time
Have a great weekend
Tim Marshall - 18 Feb 2005 19:48 GMT
> My question is... what is the difference? How does Access through
> linked tables successfully Select, Update, Insert and Delete when the
> user ID used to connect doesn't have any privilges according to SQL
> Server?
I work wih Oracle and mot MS SQL, but my first guess would be the ODBC
DSN used for the linked tables is not the one you think it is.
In Oracle, at least, linked tables inherit the privileges of the Oracle
database user.
Some folks, even myself, from time to time, get mixed up with the name
of the DSN and the server database user name.
SOme other fellows such as Rick Brandt would better be able to answer
this, but I saw your Q and figured I'd at least throw out the obvious so
you can thoroughly check that first. 8)

Signature
Tim http://www.ucs.mun.ca/~tmarshal/
^o<
/#) "Burp-beep, burp-beep, burp-beep?" - Quaker Jake
/^^ "What's UP, Dittoooooo?" - Ditto