You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access连接SQL Server如何实现自动登录无需手动输入凭证

解决方案

你遇到的是SQL Server ODBC连接的标准登录提示,可根据你的连接方式选择对应方案处理:

方案1:修改系统ODBC DSN配置(适用于用DSN连接的场景)

  • 打开Windows的ODBC数据源管理器:如果你的Access是32位版本,需打开C:\Windows\SysWOW64\odbcad32.exe;64位版本直接打开控制面板里的默认ODBC管理器即可
  • 找到你连接SQL Server使用的DSN,点击「配置」
  • 走到认证步骤时,选择使用SQL Server身份验证,使用用户输入的登录ID和密码,勾选「连接SQL Server以获取其他配置选项的默认设置」,输入正确的用户名和密码
  • 后续步骤中找到「保存密码」选项,勾选保存密码后完成配置
  • 重新打开Access刷新所有链接表,测试是否还会弹出登录框

方案2:更新链接表连接字符串嵌入认证信息(适用于无DSN的直连场景)

如果你的链接表没有绑定系统DSN,是直接通过连接字符串创建的,可运行VBA批量更新所有链接表的连接信息,示例代码如下:

Dim tdf As TableDef
For Each tdf In CurrentDb.TableDefs
    ' 筛选所有ODBC链接表
    If tdf.Connect <> "" And InStr(tdf.Connect, "ODBC;") > 0 Then
        ' SQL身份验证写法,替换为你的实际配置
        tdf.Connect = "ODBC;DRIVER=ODBC Driver 17 for SQL Server;SERVER=你的SQL服务器地址;DATABASE=你的数据库名;UID=你的用户名;PWD=你的密码;"
        ' Windows集成身份验证写法,无需输入账号密码,确认当前Windows账号有SQL Server访问权限即可
        ' tdf.Connect = "ODBC;DRIVER=ODBC Driver 17 for SQL Server;SERVER=你的SQL服务器地址;DATABASE=你的数据库名;Trusted_Connection=Yes;"
        tdf.RefreshLink
    End If
Next

方案3:启动时自动预建连接(临时兼容方案)

如果不想修改现有链接配置,可在Access的AutoExec启动宏里添加VBA逻辑,启动时自动建立和SQL Server的连接会话,后续访问链接表就不会再弹登录框:

Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
' 连接字符串写法参考方案2
conn.Open "DRIVER=ODBC Driver 17 for SQL Server;SERVER=你的SQL服务器地址;DATABASE=你的数据库名;UID=你的用户名;PWD=你的密码;"
' 无需关闭连接,保持会话即可

注意事项

  • 若近期更新过Office版本、SQL Server ODBC驱动版本,或是SQL Server端开启了强制加密、修改了认证策略,都会导致之前保存的凭证失效,优先确认驱动版本和正常运行时的版本一致
  • 不要在共享的Access文件中嵌入明文密码,存在泄露风险,多人使用场景建议统一配置Windows集成认证

内容的提问来源于stack exchange,提问作者a.powell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:24:03