sql2000的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 05:25:07
我创建了一个用户,授给他查询表的权限

之后怎么以这个用户的身份用sql语句进行表查询?

让这个用户权限以外的sql语句执行无效?
已经设定了,但不知道怎么使用该用户身份进行操作
---------------------------------------------------
我做了一个程序,用一个服务端和几个客户端,客户端将sql语句送到服务端,由服务端执行

但现在有一个问题,不同客户的权限是不同的,所以我想请问如何以某个用户的身份执行sql语句
------------------------------------------------------
不知道,我用的是ODBC编程。
我是想问下有没有办法能利用sql2000本身解决这个问题?
------------------------------------------------------
我本来是想用程序自己进行控制的,但发现这样有些难

用户传过来的sql语句要自己分析,看看是否包含修改数据库的语句

但我对这些语句又不熟,所以想利用数据库来帮我
------------------------------------------------------
谢谢各位的热心回答了

大概已经明白了你的意思,你想用数据库用户来限定应用上的用户权限吧。绝对不要这样来实现,这样实现也是不可能的。
权限控制一定要从应用级别来考虑,而不是通过频繁的切换数据库用户来实现。可以在数据库里建立一张用户表,并存取权限,在应用上给予权限控制。

在安全管理里设定此帐户的权限是查询?写入?管理之类的,自己选。可以针对某数据库设定。
-----------------------------------------
是否可以在程式中作身份判断,然后再选择可执行的语句?或者选择不同的数据库帐户连接数据库?
-----------------------------------------
我觉得还是要看具体你所用的语言所提供的类库,在程式层面上作判断.如果你用的是ADO编程,可通过设置Connection的Mode属性来管理存取权限;

一般也不那么做的 况且 用数据库最大的前提要保证安全性 如果不懂 就多看看教程吧

比如ASP连接SQL数据库代码
MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=infs;"

其中的uid pwd分别表示用户名 和密码 你更改这个为你自己建立的帐户和密码 去操作

但是如果你想网站上的用户设定权限 是不这么做的
在用户表里加个字段 比如1表示管理员 2表示高级用户 3表示普通用户 4表示公共用户

访问前先去判断下为哪个值 就显示相应的处理

首先可以肯定1点~如果用sa登陆,是可以对你设置的表做任何操作,也就是说sa是超级管理员,所以不要用sa登陆,其实多半你设置已经实现了那个功能,只是你在查询时仍然用的sa这个用户,所以感觉上设置无效。
检查设置是否有效可以用查询分析器,用你设置的帐户登陆就行了
至于企业管理器,初始化打开它默认的以sa进行登陆,你可以重新注册一次,不用sa登陆就行了