首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SqlConnection使用"Integrated =True“,但我无法连接登录详细信息

SqlConnection使用"Integrated =True“,但我无法连接登录详细信息
EN

Stack Overflow用户
提问于 2019-08-20 12:52:50
回答 1查看 5K关注 0票数 0

我的一些工作代码目前位于我们的test服务器上,该服务器目前使用Integrated /连接到SQL服务器。

我需要将它部署到客户端服务器,它将被安排为每小时运行一次,不管用户是否登录。

由于用户可能没有登录,我假设集成安全性将无法工作。

我正在输入的凭据与用于连接到dev服务器的凭证相同。我已经尝试了两个域“组织\用户名”,但这也不起作用。

代码语言:javascript
运行
复制
 SqlConnection myConnection = new SqlConnection("User id=username;" + "Password=xxxxxx; + "Data Source=datasrc;" + "Initial Catalog=catalog; " + "connection timeout=30");

myConnection.Open();

以上代码在运行myConnection.Open()之前不工作,并导致程序“挂起”。

但是,放置"Integrated Security=True;“和删除字符串的”用户id“和”密码“部分是可行的。

当我尝试使用"User id=name;" + "Password=xxxxxx;"时,它不工作,只是挂起。

下面是试图在SQLServer2014ManagementStudio上使用用户名和密码登录(windows身份验证工作正常)时的错误消息

“在建立到Server的连接时发生了与网络相关的或特定于实例的错误。无法找到或无法访问服务器。请验证实例名称是否正确,以及server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误: 40 -无法打开到Server的连接) (Microsoft SQL Server,错误: 53)

找不到网络路径“

EN

回答 1

Stack Overflow用户

发布于 2019-08-20 13:00:14

Integrated Security=True;意味着用于运行应用程序池的当前凭据也将用于登录到SQL数据库。使用Integrated Security=True;和用户ID +密码是没有意义的。一个或另一个。

因此,如果您的IIS实例使用User123登录的应用程序池,而位于该IIS实例上的.NET应用程序连接到SQL数据库,那么只要Integrated Security=True;,.NET应用程序就会尝试使用User123登录到User123数据库。通常,出于安全考虑,人们这样做是为了确保web.config中没有明文密码。编辑:通过右键单击IIS管理器中的应用程序池并进入“高级设置”,可以看到应用程序池使用的是哪个用户。

如果它只在您有Integrated Security=True;时才能工作,那么这就意味着只有该用户拥有访问SQL数据库的权限。我将打开SSMS,导航到SQL数据库,并查看Security导航树下的Security。请记住,数据库服务器和数据库本身都有一个Login,因此您可能需要在两个地方配置它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57574153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档