Sql server 如何从用户那里锁定MS-SQL数据库,但仍然通过ODBC访问它?

Sql server 如何从用户那里锁定MS-SQL数据库,但仍然通过ODBC访问它?,sql-server,ms-access,odbc,Sql Server,Ms Access,Odbc,我有一个ms access应用程序,它通过ODBC连接访问ms sql数据库。我试图强迫我的用户仅通过应用程序部分更新数据,但我不在乎他们是直接读取数据还是通过自己的自定义ms access db(他们使用它创建临时报告)读取数据 我要寻找的是一种方法,使数据仅在使用我分发给他们的编译后的.mde文件时才可编辑。我知道我可以使数据只对一般人群是只读的,而对选定的用户是可编辑的 是否有一种方法可以让ms sql仅在他们通过我的mde访问数据时使数据可编辑 想一想,有没有办法让ms access以不

我有一个ms access应用程序,它通过ODBC连接访问ms sql数据库。我试图强迫我的用户仅通过应用程序部分更新数据,但我不在乎他们是直接读取数据还是通过自己的自定义ms access db(他们使用它创建临时报告)读取数据

我要寻找的是一种方法,使数据仅在使用我分发给他们的编译后的.mde文件时才可编辑。我知道我可以使数据只对一般人群是只读的,而对选定的用户是可编辑的

是否有一种方法可以让ms sql仅在他们通过我的mde访问数据时使数据可编辑

想一想,有没有办法让ms access以不同的用户身份登录数据库(或者在连接后更改登录名)


@杰克,
是的,它使用表单。我想做的是,当我的启动板/主菜单窗体弹出时,让它切换用户一次

@彼得,
这确实是我的方向。我还没有决定如何切换到第二个ID。我并不担心密码被嗅探,用户都是内部的,并且在内部LAN上。如果他们能嗅出那个密码,他们肯定能嗅出我的特权ID

@一般没有人,

现在,它的安全是默默无闻的。我给了他们一个特殊的.mdb来做报告,它可以让他们读取数据,但不能更新数据。他们不知道如何通过ODBC连接重新链接到表。一个稍懂ms access/DB的用户可以在几秒钟内通过我所做的操作——有一些人把自己想象成DBA,所以他们最终会明白这一点。

有一种方法对内部用户有效,但也可能被黑客攻击。为每个用户创建两个ID。一个是具有只读访问权限的报告ID。这是用户知道的ID:Fred/mypassword

第二个是可以进行更新的ID。那个id是Fred\u app/mypassword\u损坏的。他们与Fred一起登录到你的应用程序。当应用程序访问数据时,它使用应用程序id


这是可以嗅探的,但对于许多应用程序来说已经足够了。

您的应用程序允许链接表更新还是通过表单?听起来,您使用具有不同角色的集中式用户的想法是可行的。是的,您可以更改用户,但我认为这可能会引入更多的编码,并且一旦您开始添加越来越多的代码,其他解决方案(存储过程等)可能听起来更具吸引力