【问题标题】:'instance failure' error while connection string is correct连接字符串正确时出现“实例失败”错误
【发布时间】:2013-07-13 02:17:46
【问题描述】:

我在页面加载事件中有以下代码:

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        con = New SqlConnection("Data Source=14GRAFICALI\\SQLEXPRESS;Initial Catalog=sagar;Integrated Security=True")
        '-----------------------fill name ddl------------------------------'

        Try

            da = New SqlDataAdapter("select EmpName from empMaster_VB", con)
            ds = New DataSet()
            da.Fill(ds)
            For i As Integer = 0 To ds.Tables(0).Rows.Count

                ddlName.Items.Add(ds.Tables(0).Rows(i)(0).ToString())

            Next


        Catch ex As Exception

        End Try

        '--------------------------------------------------------------------'


        '----------------fill expence-------------------------------------'

        Try

            da = New SqlDataAdapter("select ExpName from expenceType_VB", con)
            ds = New DataSet()
            da.Fill(ds)
            For i As Integer = 0 To ds.Tables(0).Rows.Count

                ddlExpence.Items.Add(ds.Tables(0).Rows(i)(0).ToString())

            Next


        Catch ex As Exception

        End Try


        '---------------------------------------------------------------'



    End Sub

此代码用于在数据库表中使用名称和费用值填充下拉列表。

我在执行代码时收到“instance failure”错误。

我检查了堆栈上的answers 之一并检查了我的连接字符串。但是,我的连接字符串也是正确的。

如果此代码中缺少任何其他内容,请帮助我。

【问题讨论】:

  • 你在打开连接吗?
  • 不,我没有打开连接
  • 在执行 Select 语句之前添加 con.Open()
  • 我从数据源中删除了 // 并制作了 / 并且它起作用了。

标签: asp.net .net vb.net visual-studio-2008


【解决方案1】:

当您收到“实例失败”错误时,这可能是您的 SQL Server 实例的错误..

确保您的 SQL Server 实例 (MSSQLSERVER) 正在运行,您可以在其中签入:服务列表。要进入服务列表:打开运行对话框并输入:“services.msc”(不带引号)并按 Enter。这会将您带到服务管理控制台,您可以在其中检查您的实例是否正在运行..

如果问题仍然存在,请尝试使用:Data Source=.\SQLEXPRESS 代替.. :)

快乐编码... :)

【讨论】:

  • 尝试重新启动您的实例一次.. :)
  • 如果机器是本地的,这甚至可以用于 .\SQLEXPRESS... :)
  • 是的,//是问题。它对两者都有效,只是我没有删除 // 并使其 / 。谢谢
  • 完美解决方案。我的 connectionString 以前是“Server=OWNER-PC\\SQLEXPRESS”,并且在使用 EF6 的 update-database 命令后出现实例失败。将其更改为“Data Source=.\SLQEXPRESS”后一切正常。
【解决方案2】:

在“数据源”声明之前使用通配符“@”。像这样: connetionString = @"数据源=...

因此,您将只能使用反斜杠。像这样:@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\jcabarros...

【讨论】:

    【解决方案3】:

    我有连接:

    Data Source=MyComputerName\SQL2012ENTERPRS;Initial Catalog=RESTFUL; User Id=myuser; Password=mypass123;
    

    我的服务器是:MyComputerName\SQL2012ENTERPRS

    但由于我使用字符串,所以我添加了更多\ 所以,在我的代码中它将是:

    public string connectionString = "Data Source=DAFWKN409C67Q\\SQL2012ENTERPRS;Initial Catalog=RESTFUL; User Id=rest_user; Password=rest_pwd_01;";
    

    我忘记了我必须删除\ 之一,因为我没有使用默认字符串块,我使用 XML 文件来保存我的连接字符串。然后一切正常。所以,我的建议是您的实例名称不正确。

    这是我的连接字符串示例,我使用本地电脑使用 SQL express:

    string servername = @"Data Source=.\SQLExpress;Initial Catalog=Workshop;Integrated Security=True";
    

    您应该自己修改服务器名称和实例名称,确保正确。

    【讨论】:

    • NLog 和数据库目标有问题,这解决了!
    • 我遇到了同样的问题,这个答案对我有用,我将数据源名称中的双 \\ 删除为单个 \
    【解决方案4】:

    我遇到了这个问题,因为我从appsettings.Development.json 获得了连接字符串:

    "Server=msi\\DataBaseName;Database=Super25;Trusted_Connection=True;"
    

    但是当我改成

    "Data Source=msi\DataBaseName;Initial Catalog=Super25;Integrated Security=True;"
    

    解决了!

    【讨论】:

      【解决方案5】:

      在我的情况下,只需将双 \\ 踢到一个雪泥 \ :=)

      【讨论】:

      • 我没有更新我的 exe 配置文件,以及如何用两个反斜杠更新它。我检查了我的源代码控制,在这种情况开始发生之前,它只是一个斜线。你在钱上是对的;谢谢。
      • 这对我有用,很多时候在 c# 代码中我们 pur @ 然后不需要 \\ 只需使用 \ 如果 @ 在连接字符串之前。
      • 工作就像一个魅力。两个斜线在 ASP.NET Core 项目中很好,但在普通的 ASP.NET 中崩溃了。
      【解决方案6】:

      我知道这是一个旧线程,但也许是一个很好的更新。我在网络搜索中找不到好的答案。

      尝试从同一解决方案中的另一个项目引用 DbContext 时,我遇到了相同的“实例失败”错误。第一个项目有一个 DbContext 和连接字符串,解决方案中的第二个项目试图引用它。第一个应用程序运行正常,仅在运行第二个应用程序时出现问题。

      问题在于具有来自第一个项目的连接字符串的 app.config 文件不在第二个项目的视图/范围内。所以连接字符串没有组装。

      我的解决方案是将 app.config 从第一个项目复制到第二个项目。

      这是在 VS 2019 上。

      希望对你有帮助

      【讨论】:

        【解决方案7】:

        根本原因是常规文字 ("Backslash: \") 和逐字文字 ("@"Backslash: \"") 。 参考https://csharpindepth.com/Articles/Strings

        【讨论】:

          猜你喜欢
          • 2021-08-14
          • 2012-03-03
          • 2019-02-08
          • 1970-01-01
          • 1970-01-01
          • 2014-02-26
          • 2017-11-24
          • 1970-01-01
          • 2020-08-09
          相关资源
          最近更新 更多