It is not whether the user is "power user" or "admin". It is because of SQL
Server security. You must understand how to configure SQL Server/MSDE to
allow different users to access different data in a database of SQL
Server/MSDE. Yes, an local "Admin" user has all access to to the SQL
Server/MSDE, by default. But that does not mean user has to be "admin", and
more importantly, users who only need to access certain data in the SQL
Server/MSDE should only be able to access the data they supposed to be, not
anything else, especially not the permission to altter SQL Server/MSDE's
configuration, database design...
Sure, if your application is simple and the database is simple, you can let
your user always logs in as local admin, so your app will work risking the
user breaks the entire Windows.
So, study a bit more on SQL Server/MSDE security is due.
Basically, you need:
1. Determine which user who logs on this computer would use your
application/access the database in MSDE. Does he need to access data only,
or does he need to configure/change/desgn the MSDE/database
2. Do you want to use MSDE in Windows security mode or SQL Server security
(mixed mode)? By default installation, only Windows security is enabled. If
you want to use SQL Server security (including SQL Server login's
username/password in ConnectionString), you need to explicitly enable mixed
security mode
3. Create one or more SQL Server logins, map the login(s) to corresponding
Windows user account (for Windows security)
4. Make SQL Server login(s) as certain database' user(s), make user certain
role in the database;
5. Asign necessary access permission to the database user/role. For example,
if you do not want some user to edit data (read only), then you can only
give the user "SELECT..." permission, but no "UPDATE..." and "DELETE..."
permission to certain tables/views/SPs in the database.
SQL Server/MSDE is a complicated server software, not something you can do
double-clicking installing and using. You need a lot of knowledge/skill to
set it up properly before using it.
P.S.
In your post, you said "loginmode = sqlserver". If so, whether the user is
admin or power user should not have difference if the ConnectionString
supplied correct SQL Server login's username/password. So, if admin or power
user make difference, then logging in mode is not "sqlserver".
Post by Peter HaseHi,
I have built a MSDE 2000 based application which works fine in in a
LAN environnment with XP clients under power user rights.
Since the customer took the decision to deploy this
we have got the problem, that everything is fine
as the user is running with administation rights. If this
is changed to 'power user' the client does not show any data.
No error will be thrown. Why this and how can I fix it?
Conditions: MSDE 2000 under Window XP, local installation
(notebook), loginmode = sqlserver. Client is a .NET Windows
application.
Thanks in advance.
Peter