0

如何修改 Sql Server 数据库属性以使其公开,以便网络中的所有用户都可以读取和写入它?(他们将通过 VBA 代码执行此操作)到目前为止,我使用的方法是授予 DB Security 对网络登录名/用户的访问权限。

所需的方法:我希望将数据库设为公共并更改 VBA 代码,以便根据网络用户名允许/限制某些操作。

4

1 回答 1

0

我要做的是在 VBA 中检索用户的 user_id

environ('username') 

并通过服务器脚本访问数据库。

  • 创建存储内部网络用户的表(通过 Active Directory,您可以使用 LDAP,否则您自己存储 id);

  • 创建从 VBA 到服务器脚本的 Ajax 调用并检查用户是否存在;

我参考了我之前制定的关于如何创建 Ajax 调用的答案:
Updating Oracle Table from Excel VBA Macro using ODBC connection

  • 从服务器脚本执行所有数据库事务(而不是从 VBA 直接到数据库)。您可以使用带有 url 字符串的 GET 参数发送必要的 sql 条件(查看有关如何通过 Ajax 执行此操作的链接);

此外,您可以通过将自创密钥从 vba 工具发送到服务器脚本(这可以在 VBA 代码中硬编码)来嵌入额外的安全性,并在执行任何补充操作之前验证这一点。
这是为了验证客户端的 VBA 工具是否应该有权访问脚本。

于 2013-10-20T15:15:06.310 回答