0

我们想让我们系统的用户有机会将一些数据从数据库拖到 Excel 中。(只读取数据,没有机会将任何数据写回数据库)。用户没有直接访问数据库的权限,因此我们需要对他们进行一些身份验证。(一是连接数据库,二是使用我们系统的安全设置,让用户1只能看到某些表。)

我被指示开始为此编写 C# 插件,但一位同事被指示编写 VBA 宏。

我正在考虑使用实体框架来访问数据,但我之前没有使用过它。我不知道他们会在宏中使用什么,但宏管理器认为我将通过大量数据传输来破坏网络。他也不喜欢用户必须在他们的计算机上安装插件的想法。但是,我对宏和它们不是很安全的概念有一种模糊的不安。宏的安全性如何?它们是安全的,还是有知识的用户可以更改代码?

我想知道,每种方法的优缺点是什么,比我有更多经验和知识的人的一般感觉是什么?

特别涉及以下事项:

  • 信息安全(某些表不应访问。)
  • 网络流量
  • 易于维护和未来修改
  • 我错过的任何其他相关问题

亲切的问候,

4

1 回答 1

0

在这种情况下我会做的是: - 在数据库上创建视图并将它们分配给模式。不要限制数据,只需指定您希望他们查看的列,让他们过滤 Excel 中的数据(假设返回的数据量很大) - 创建一个 Active Directory 组并为其成员授予对该架构的读取权限- 使用 Excel -> 数据 -> 连接(在 Excel 2010 中,不确定 2008 年)将工作表连接到该视图

他们可以弄乱excel中的数据,但不能将其写回数据库。您可以限制他们可以看到的表/列,并在视图中对查找表进行连接,这样他们就看不到数据库 ID。

于 2013-05-15T11:16:35.540 回答