【问题标题】:SQL Server 2012 Error 26SQL Server 2012 错误 26
【发布时间】:2013-02-04 23:54:30
【问题描述】:

我下载了 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 登录。谁能告诉我我错过了什么?

【问题讨论】:

  • 这是 Windows 应用还是 Web 应用?您收到的错误 message 是什么?
  • @Cook - 此行中额外的“t”是什么:sql = "insert into Main ([Cable Length1], [Cable Length2]) values(@3',@5't)";?你的查询中有这个,但你的:cmd.Parameters.AddWithValue("@5'", 2); 删除't',然后重试。
  • 伙计们,这是 Windows 应用程序 @Brian:对不起't',但它给我一个打开本身的错误。
  • 另外,您可以像这样声明您的连接字符串(以使其不那么冗长):using(SqlConnection connectionString = new SqlConnection(@"Server=.\SQLEXPRESS;database=master;Trusted_Connection=True;").
  • MessageBox.Show("Row inserted !! "); 您假设您的代码将成功运行..?将该代码包装在您的 Try {}catch{} 中,使用永远不要假设.. 进行适当的错误捕获/异常处理..

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


【解决方案1】:

忽略所有其他问题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();
    }
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 2013-05-27
      • 2012-09-30
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多