使Sql Server数据库公开(允许在网络内读写)

时间:2013-10-20 14:08:25

标签: sql sql-server-2008 vba

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

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

1 个答案:

答案 0 :(得分: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工具是否应该具有对脚本的访问权限。