难道不必在连接字符串中指定用户凭据就可以通过 ODBC 对 DBMS 进行身份验证吗?

Posted

技术标签:

【中文标题】难道不必在连接字符串中指定用户凭据就可以通过 ODBC 对 DBMS 进行身份验证吗?【英文标题】:Isn't it possible to authenticate into a DBMS through ODBC without having to specify the user credentials in the connection string? 【发布时间】:2010-12-31 18:27:44 【问题描述】:

我正在尝试通过 ODBC 登录到 SQL Server 数据库(DSN 配置良好),但是当我尝试在 .NET 中建立连接时,我一直在询问我已经保存在 ODBC 配置中的用户凭据在 Windows 中,我的意思是,如果我已经保存了凭据,为什么还要再次提供它们?

会是什么?

谢谢。

PD:连接字符串只是“Dsn=mydsn”。

【问题讨论】:

【参考方案1】:

DSN 不存储用户名和密码信息。如果您仔细查看向导该页面上的文本,它只是提示输入用户名和密码,以便它可以在向导的后续页面中检索下拉列表的其他信息。

您可以使用 Windows 集成安全功能以当前 Windows 用户身份登录。如果要使用 SQL 认证,则必须在连接字符串中传递用户名和密码。

ConnectionStrings.com 是获取此类连接字符串语法的绝佳资源。请参阅 ODBC 部分,其中包含受信任连接的示例以及提示输入密码。

Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;

【讨论】:

以上是关于难道不必在连接字符串中指定用户凭据就可以通过 ODBC 对 DBMS 进行身份验证吗?的主要内容,如果未能解决你的问题,请参考以下文章

数据库 + Windows 身份验证 + 用户名/密码?

如何在 API 项目中指定实体框架连接字符串

在 MySQL 连接字符串中指定密码

将表单提交中指定的任何日期转换为给定格式

如何在C#中获取连接字符串中指定的Mongo数据库

如何在 ODBC 连接字符串中指定网络目录?