SQL Server 2012错误26

时间:2013-02-04 23:54:31

标签: c# sql sql-server-2012-express

我下载了SQL Server 2012 Express。使用http://www.mssqltips.com/sqlservertip/2694/getting-started-with-sql-server-2012-express-localdb/。我创建了一个本地数据库。现在,当我尝试使用Visual Studio 2010连接到该数据库时,它会抛出错误26

这是我的代码:

using(SqlConnection connectionString = new SqlConnection(@"Server=(localdb)\SQLEXPRESS;database=master;Trusted_Connection=True;")                          
{
    connectionString.Open(); //error 26
    sql = "insert into Main ([Cable Length1], [Cable Length2]) values(@3',@5')";

    using (SqlCommand cmd = new SqlCommand(sql, connectionString))
    {
        cmd.Parameters.AddWithValue("@3'", 1);
        cmd.Parameters.AddWithValue("@5'", 2);
        cmd.ExecuteNonQuery();
              }
}

此外,我可以通过SQL Server Management Studio 2012登录。任何人都可以告诉我我缺少什么?

2 个答案:

答案 0 :(得分:0)

忽略所有其他问题 1 ,您应该决定是否使用SQL Server LocalDB。我非常怀疑你是否创建了一个名为SQLEXPRESS的私有LocalDB实例。

您可能需要以下内容:

new SqlConnection(@"Server=(localdb)\v11.0;Trusted_Connection=True;")

或者

new SqlConnection(@"Server=.\SQLEXPRESS;Trusted_Connection=True;")

1 如下:

  • 您的SqlConnection被称为connectionString
  • 名称中带引号的参数。
  • 使用master,然后尝试插入名为Main的表格。系统数据库用于系统。你不是系统。

我希望看到以下内容:

using (var connection = new SqlConnection(@"Server=(localdb)\v11.0;Database=MyDatabaseName;Integrated Security=true;")
{
    connection.Open();

    using (var command = connection.CreateCommand())
    {
            command.CommandText = "INSERT INTO [Main] ([Cable Length1], [Cable Length2]) VALUES(@3, @5)";

            command.Parameters.AddWithValue("@3", 1);
            command.Parameters.AddWithValue("@5", 2);

            command.ExecuteNonQuery();
    }
}

答案 1 :(得分:0)

我得到了解决方案:确保您已连接到数据库,并在服务器名称下启动sql management studio时 - >选择浏览更多 - >选择数据库引擎,然后选择您的本地数据库。你应该看到绿色图标,然后你就可以连接了。谢谢你的帮助!