【问题标题】:Unable to connect to local database in Visual Studio 2012 express For Web: (error 26)(C#)(SQL Server 2012)无法在 Visual Studio 2012 express For Web 中连接到本地数据库:(错误 26)(C#)(SQL Server 2012)
【发布时间】:2013-09-01 12:24:05
【问题描述】:

最近,我制作了一个带有数据库的简单网站(在 App_Data 文件夹中)。我使用以下方法创建了一个类文件(在 App_Code 文件夹中),它将创建与数据库的连接:

public static SqlConnection ConnectToDb(string dbFileName)
{
    string path = HttpContext.Current.Server.MapPath("App_Data/");
    path += dbFileName;
    string connString =  @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + 
                         path + 
                         ";Integrated Security=True;User Instance=True";
    SqlConnection conn = new SqlConnection(connString);
    return conn;

}

当我需要打开该连接时,我收到以下消息:

与 SQL Server 建立连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

我不明白的是,我在一年前在 Visual Studio 2010 中构建的另一个网站中使用了 -same- 方法,它运行良好。

我检查了路径,它是正确的,与参数中的数据库文件名相同。

代码或 VS 的设置有什么问题?提前致谢。

编辑:刚刚尝试使用 (localDB)\v11.0 而不是 .\SQLEXPRESS 现在我收到此错误消息:

连接到 SQL Server 的用户实例时,不允许使用用户实例登录标志。

【问题讨论】:

  • 您的服务器地址可能不正确或正忙。
  • 找到解决方案,必须将 User Instance 设置为 false。我会发布答案,但由于声誉低,我还不允许发布。
  • 好的,您可以将答案作为更新部分发布在您的问题中。当你有足够的声望时,你可以回来回答。

标签: c# asp.net .net sql-server


【解决方案1】:

您收到该错误是因为 (localDB)\v11.0 已经是 SQL Server 的用户实例。当您使用SQLEXPRESS SQL Server 实例时,它不是。所以,只需去掉连接字符串上的User Instance=true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多