简单的选择查询的传输级错误

时间:2016-09-29 14:22:19

标签: .net sql-server

我正在尝试做一些非常简单的事情:

using (SqlConnection connection = new SqlConnection("Data Source=x.x.x.x;Initial Catalog=xxxxx;Persist Security Info=True;User ID=xxxx;Password=xxxx;")) {
    SqlCommand command = new SqlCommand("SELECT ID, NAME, LIB, L_TIME FROM  PROJECTS WHERE  NAME = 'Jon Doe' ORDER BY  ID desc", connection);
    connection.Open();

    SqlDataReader reader = command.ExecuteReader();

    if (reader.HasRows) {
        while (reader.Read()) {
            Console.WriteLine(reader.GetInt32(0));          
        }
    } else {
        Console.WriteLine("No rows found.");
    }

    reader.Close();
}

我得到了这个例外:

  

从接收结果时发生传输级别错误   服务器。 (提供程序:TCP提供程序,错误:0 - 指定的网络名称   已不再可用。)

当我使用Sql Management studio时,它可以工作,我得到3258行。

好的,现在它会得到WEIRD!

  • 如果我添加“top 3258”,我仍然会遇到相同的例外,但如果加上“top 3257”,一切正常
  • 如果删除查询中的任何字段,一切正常!
  • 如果我将where子句更改为“NAME = 'Someone else'”,则可以正常工作!!

PS:我在LinqPad中尝试了这个代码,我遇到了同样的问题。

0 个答案:

没有答案