我有一个ms-access应用程序通过ODBC连接访问和ms-sql db。我试图强迫我的用户通过应用程序部分更新仅数据,但我不在乎他们是直接读取数据还是通过他们自己的自定义ms-access数据库(他们使用它)用于创建临时报告。)
我正在寻找的是一种只有在使用我分发给它们的已编译的.mde文件时才能使数据可编辑的方法。我知道我可以只为一般人群读取数据,并且可以为特定用户编辑。
有没有办法让ms-sql只有在通过my canned mde访问数据时才能编辑数据?
想想,有没有办法让ms-access以不同的用户身份登录数据库(或者连接后更改登录名)?
@Jake,
是的,它正在使用表格。当我弹出启动板/主菜单时,我要做的就是让用户切换一次。
@Peter,
这确实是我前进的方向。我还没有确定如何切换到第二个ID。我并不那么担心密码被嗅到,用户都是内部的,并且在内部局域网上。如果他们可以嗅到那个密码,那么他们肯定会嗅到我的特权ID。
@没有一般,
现在它的安全性是默默无闻的。我已经使用了一个特殊的.mdb进行报告,让他们读取数据,但不更新它。他们不知道通过ODBC连接重新链接到表。稍微多一点ms访问/数据库识字的用户可以通过我在几秒钟内完成的工作 - 并且有一些人想象自己是DBA,所以他们最终会弄明白。
答案 0 :(得分:2)
有一种方法可以对内部用户有效,但可以被黑客入侵。您为每个用户创建两个ID。一个是具有只读访问权限的报告ID。这是用户知道的ID:Fred / mypassword
第二个是可以进行更新的ID。该ID是Fred_app / mypassword_mangled。他们用Fred登录你的应用程序。当您的应用程序访问数据时,它使用应用程序ID。
这可以被嗅到,但对于许多应用来说已经足够了。
答案 1 :(得分:1)
您是否允许应用链接表更新或是否通过表单?听起来像是使用具有不同角色的集中用户的想法是要走的路。是的,您可以更改用户,但我可能会引入更多编码,一旦您开始添加越来越多的代码,其他解决方案(存储过程等)可能听起来更有吸引力。