43

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

 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”错误。

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

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

4

7 回答 7

66

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

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

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

快乐编码... :)

于 2013-07-15T09:14:13.987 回答
32

我有连接:

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";

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

于 2017-07-24T06:52:06.370 回答
22

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

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

但是当我改为

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

解决了!

于 2018-07-14T20:37:52.923 回答
18

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

于 2018-11-09T08:46:45.373 回答
7

我在单独的类库中分享了一张图片,以找出我的 EF Core 3.0 上的问题。 根本原因是常规文字 ("Backslash: \") 和逐字文字 ("@"Backslash: \"") 。参考https://cshapindepth.com/Articles/Strings

于 2019-11-15T18:51:09.757 回答
5

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

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

于 2016-06-20T17:03:00.253 回答
1

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

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

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

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

这是在 VS 2019 上。

希望这可以帮助

于 2019-10-11T21:10:55.190 回答