连接字符串正确时出现“实例失败”错误

时间:2013-07-15 09:06:35

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

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

 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之一并检查了我的连接字符串。但是,我的连接字符串也是正确的。

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

7 个答案:

答案 0 :(得分:23)

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

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

如果问题仍然存在,请尝试使用:Data Source =。\ SQLEXPRESS而不是.. :)

快乐编码...... :)

答案 1 :(得分:14)

我有联系:

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

您应该自行修改服务器名称和实例名称,确保其正确无误。

答案 2 :(得分:8)

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

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

但是当我更改为

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

解决了!

答案 3 :(得分:3)

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

答案 4 :(得分:1)

使用通配符" @"之前"数据源"宣言。像这样: connetionString = @"数据源= ...

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

答案 5 :(得分:0)

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

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

问题在于,具有第一个项目的连接字符串的app.config文件不在第二个项目的视图/范围内。因此,连接字符串未组装。

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

这是在VS 2019上发布的。

希望这会有所帮助

答案 6 :(得分:0)

I shared an image for figure out the issue on my EF Core 3.0 in a Separate Class Library. 根本原因是Regular文字(“反斜杠:\”)和Verbatim文字(“ @”反斜杠:\“”)。 参考https://csharpindepth.com/Articles/Strings