我其实明白为什么会弹出此错误消息,但我不知道如何实施我的解决方案。
有一个 SQL Server 网络实例,我提供一些 MS Access 表单进行交互,我自己没有连接问题。这是因为在服务器和数据库中我实际上都使用与我自己的电脑相同的用户名和密码注册,所以 kerberos 身份验证非常有效......直到我与其他人共享 Access 文件,然后他们得到这个错误(因为他们的本地用户没有在服务器和/或数据库中注册)
问题是,我不希望进程使用客户端本地用户和密码来验证连接(或一起使用 kerberos 服务),而是使用数据库本地用户和密码。我最初使用 ODBC 调用将远程表链接到 Access,提供数据库本地用户和密码(不同于我的凭据),我希望它保持这种方式(或足够相似)以便其他人可以打开表单并进行交互与他们一起使用数据库本地凭据。
我只是不知道如何解决这个问题。请帮忙 :'(
发布前的最后一分钟更新:弹出此错误后,系统会提示用户使用连接对话框,他们可以在其中编辑提供的用户名和密码以建立连接。所以问题实际上不是阻挡墙,而是一个不舒服的细节。
但问题仍然存在:有没有办法让它成为默认行为?
为什么不两者兼而有之?
您看到的登录屏幕是 SQL 服务器拒绝登录参数。
完成上述步骤后,当您的最终用户打开访问文件时,SQL 将在幕后摇晃,从而允许您的自定义登录屏幕弹出...仅显示 1 个登录屏幕。此外,如果用户离开公司,只需将他们从 OU 中删除即可(或停用帐户)
从理论上讲,您可以为每个特定用户开发一个 DSN,并使用 SQL 登录名指定登录名,但这很乏味,除非您当然使用通用登录名。出于显而易见的原因,我不推荐它。