我办公室的一个特定团队使用了 100 个 Microsoft Access 模型。它们都使用 SystemDSN 连接数据库,并且 SystemDSN 的名称在 Microsoft Access 模型中是硬编码的。
我的队友建议我们使用登录脚本来确保为该团队的所有用户配置 SystemDSN。例如,如果有新成员加入,他会自动获取 DSN,而不必致电 IT 进行手动设置。
我建议我们使用 FileDSN,将 FileDSN 存储在网络共享路径上,然后就可以了。优点如下
如果我要将数据库迁移到新服务器,我只需要在一个位置更新 FileDSN 即可完成。
即使通过 Citrix,我也能够访问 Microsoft Access 模型,尽管我可能无法拥有 SystemDSN。
正如我的队友所说,问题在于
- Microsoft AccessModels 有 100 多个,那么,如何更改 SystemDSN 的硬编码值?他声称这不值得付出努力。
当然,我们应该有一个编程概念,以便一次性完成更改。
当我继续绞尽脑汁寻找解决方案时,如果有人已经找到了解决方案,请告诉我们!
答案1
改用无 DSN 连接,这样客户端工作站就不需要任何设置,也不需要任何可访问的基于文件的 DSN 定义。我使用 Doug Steele 的代码将 DSN 连接字符串转换为无 DSN 连接字符串:
答案2
如果只有 100 个(而不是数千个),那么更改它们可能比编写登录脚本花费的时间更少。
如果您选择无 DSN 路线(参见 David 的回答),这里是另一个宝贵的资源:http://www.connectionstrings.com/