如何以编程方式创建DSN?

Cap*_*Kid 1 sql-server ms-access vba access-vba

我有一个Access表单,它使用链接的sql server表作为数据源.我需要尽快将此文件分发给其他用户,我需要一种方法来以编程方式将DSN安装到他们的计算机上.这是手动设置链接的过程:

外部数据>更多> ODBC数据库>链接到数据源>机器数据源选项卡>按新建>用户数据源> sql server> name =由您决定; server = serverName> SQL Server如何验证登录ID的真实性?使用Windows NT身份验证使用网络登录ID >附加数据库文件名(数据库名称)>选择表并按确定

这就是我访问我的表所做的,但我希望用户可以按下按钮并访问该表,同时通过使用Windows NT身份验证进行身份验证.

我无法找到一种方法来写入访问vba代码可以有人指导我正确的方向吗?

Alb*_*lal 5

通常,使用DSN less连接可以获得更好的成功.这将消除许多问题和问题.此处概述了如何使用DSN连接:http: //www.accessmvp.com/djsteele/DSNLessLinks.html

此外,您不希望在连接字符串中存储用户名+密码,而只是"登录"一次.这再次节省了大量麻烦,也意味着您的连接字符串和/或DSN不必在实际链接中保存和公开用户名和密码.

这种方法意味着您可以拥有不同的登录,而不必重新链接或更改现有的表链接.

下面显示了如何使用缓存登录,这样就可以在不重新链接表的情况下进行不同的登录.

http://blogs.office.com/b/microsoft-access/archive/2011/04/08/power-tip-improve-the-security-of-database-connections.aspx

我强烈建议您在将链接表用于SQL Server时采用上述两种方法.