【问题标题】:Why connection string is not working in production asp.net?为什么连接字符串在生产 asp.net 中不起作用?
【发布时间】:2018-04-06 07:40:38
【问题描述】:

我正在尝试将我的应用程序与服务器上的数据库连接以进行生产,但它会引发如下错误:

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

web.config 中,我的开发连接字符串运行良好,但是当我将其更改为生产时,它无法正常工作。这是我所做的:

<connectionStrings>
  <add name="Vulosjet"
       connectionString="Data Source=IP;Initial Catalog=Vulosjet;Integrated Security=false;User ID=********;Password=********" />
  <add name="Vulosjet_app.Properties.Settings.VulosjetConnectionString"
       connectionString="Data Source=IP;Initial Catalog=Vulosjet;Integrated Security=false;User ID=********;Password=********"
       providerName="System.Data.SqlClient" />
</connectionStrings>

有什么帮助吗?

【问题讨论】:

  • 你输入了用户名和密码!
  • 但不是真实的用户名和密码
  • 不要使用两个或更多的名字,我已经回答过了,看看我的回答列表会对你有帮助
  • 我应该对连接字符串进行哪些更改才能正常工作?
  • 请添加更多标签。这显然不是 c# 问题

标签: sql-server web-config connection-string


【解决方案1】:

您的 Vulosjet 连接字符串中缺少 providerName。

仅使用一个连接名称,您可以通过部署方法更改内容。将其视为具有不同值的变量,具体取决于它的部署位置。阅读“web.config 转换”以了解您如何实现这一目标。

其次,确保您可以从生产环境访问数据库服务器。

整理好这些东西,你就可以开始了。

【讨论】:

    【解决方案2】:

    可能的原因有很多:

    • Sql Server 实例名称不同(不是默认的 MSSQLSERVER) - 您需要在服务器名称中指定此名称,例如10.10.42.53/SQLProd 什么的
    • 在 Prod 服务器上为 SQL 配置了哪些协议?如果您想以这种方式连接,您可能需要启用 TCP/IP...
    • 存在防火墙问题,可能是 Prod 中 SQL 服务器上的软件或两者之间的网络中的某个位置。
    • 存在一个基本的网络问题 - PROD Web 服务器无法直接与 PROD SQL 服务器通信。

    这不是(还)是身份验证问题。它只是看不到服务器/实例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 2016-12-30
      • 2011-04-03
      • 2021-01-28
      相关资源
      最近更新 更多