我们希望为我们系统的用户提供将数据库中的一些数据拖到Excel中的机会。 (只读数据,没有机会将任何数据写回数据库)。用户无法直接访问数据库,因此我们将对其进行一些身份验证。 (首先连接到数据库,然后再使用我们系统的安全设置,这样只允许用户1查看某些表。)
我被指示开始为此编写C#插件,但有同事被指示编写VBA宏。
我正在考虑使用实体框架来访问数据,但我之前没有使用它。我不知道他们将在宏中使用什么,但是宏管理器认为我将通过大量数据传输来杀死网络。他也不喜欢用户必须在他们的计算机上安装加载项的想法。但是,我对宏观以及它们不是很安全的概念有一种模糊的不安。宏的安全性如何?它们是否具有调整安全性,或者知识渊博的用户是否可以更改代码?
我想知道,每种方法的专业和概念是什么,与我相比,拥有更多经验和知识的人的总体感受是什么?
特别关注以下事项:
亲切的问候,
答案 0 :(得分:0)
在这种情况下我会做的是: - 在数据库上创建视图并将其分配给模式。不要限制数据,只需指定希望他们看到的列,让他们过滤Excel中的数据(假设返回了大量数据) - 创建一个Active Directory组,并为其成员提供对该架构的读取权限 - 使用Excel - >数据 - >连接(在Excel 2010中,不确定2008年)将工作表连接到该视图
他们可以搞砸excel中的数据,但无法将其写回数据库。您可以限制他们可以看到的表/列,并在View中为查找表执行连接,这样他们就看不到数据库ID。