gpt4 book ai didi

ms-access - 保存用于从MS Access 2007到MS SQL Server的ODBC连接的密码

转载 作者:行者123 更新时间:2023-12-04 13:14:34 24 4
gpt4 key购买 nike

我负责将旧的Access 2007项目迁移到MS SQL Server 2008 Express。第一步是将所有数据从MS Access数据库移至SQL Server,同时将Access表单和报表保留在客户端。

因此,现在移动了数据,创建了SQL Server用户(仅用于 Access 该特定数据库),并且通过ODBC连接将表链接到Access数据库。但是,有一个烦人的问题应该以某种方式解决:打开Access数据库时,Access会定期询问用户密码。

服务器PC和客户端PC上的用户都登录到其本地计算机,即,未在独立域服务器上验证其用户。

我看到有几种解决方法:

  • 1)配置集成安全模型,以便用户可以通过Windows登录名自动授权登录(即,使用“受信任的连接”)。鉴于服务器PC无法从客户端PC识别用户,因此我不确定如何做到这一点。如果我现在尝试执行此操作,则会收到用户正在从不受信任的域进行连接的错误消息。
  • 2)将SQL Server用户密码存储在客户端。不过,我不确定是否有可能。我知道将密码保存在某些配置文件中,或将应用程序配置中混淆的存储内容视为降低安全性,但这对于给定的设置而言是可以接受的。
  • 3)也许还有其他方法如何将SQL Server表链接到Access中?
  • 最佳答案

    最好的解决方案显然是使用Windows安全性。

    如果不合适,这是一个可能的替代技巧,它利用Access会记住所有打开的连接直到程序关闭的事实:

  • 复制您的表之一的连接字符串
  • 创建一个通过查询“ptqConnect”并在其中输入任何快速的SQL语句,例如SELECT 1
  • 将的连接字符串粘贴到PTQ Connect属性中,并确保在其中添加PWD=something;
  • 在应用程序的启动过程中,请
  • 确保您调用了该PTQ。像DCount("*", "ptqConnect")这样的东西就可以了。

  • 而已。由于Access在关闭前会记住打开的连接,因此即使您关闭了数据库,即使链接表的连接字符串中未存储密码,其他表也将立即打开,而不必担心。
    如果您不想公开包含PWD的连接字符串,则还可以通过提供MDE或仅通过密码保护代码来从VBA发起连接并隐藏代码。

    您可以找到有关此行为的说明 here

    关于ms-access - 保存用于从MS Access 2007到MS SQL Server的ODBC连接的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9093266/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com