Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么会导致OdbcDataReader挂起?_C#_Odbc_Datareader - Fatal编程技术网

C# 什么会导致OdbcDataReader挂起?

C# 什么会导致OdbcDataReader挂起?,c#,odbc,datareader,C#,Odbc,Datareader,在我的C#代码中有一个ODBC数据读取器,它是使用参数调用存储过程的结果。 当客户运行该程序时,当使用while循环从datareader检索结果时,它会在某个时间点被rdr.Read()命令停止,只需等待未定义的分钟数,然后继续 while (rdr.Read()) {Somecode...} 什么会导致这种行为 在某个时刻,它会停在 Read()命令并随时待命 未定义的分钟数和 然后继续 while (rdr.Read()) {Somecode...} 因为我在等待数据。基本上看一下数据

在我的C#代码中有一个ODBC数据读取器,它是使用参数调用存储过程的结果。 当客户运行该程序时,当使用while循环从datareader检索结果时,它会在某个时间点被rdr.Read()命令停止,只需等待未定义的分钟数,然后继续

while (rdr.Read()) {Somecode...}
什么会导致这种行为

在某个时刻,它会停在 Read()命令并随时待命 未定义的分钟数和 然后继续

while (rdr.Read()) {Somecode...}
因为我在等待数据。基本上看一下数据源,找出它挂起的原因

读者的约定是“要么等待数据,要么抛出异常”。显然,您的数据源有很长的超时时间(或者没有超时),并且数据没有流入(正如您所期望的那样)

在某个时刻,它会停在 Read()命令并随时待命 未定义的分钟数和 然后继续

while (rdr.Read()) {Somecode...}
因为我在等待数据。基本上看一下数据源,找出它挂起的原因


读者的约定是“要么等待数据,要么抛出异常”。显然,您的数据源有很长的超时时间(或无超时),并且数据没有流入(如您所期望的)。

ODBC是许多不同数据源的抽象层,不知道您连接到的数据源的类型,以及有关调用过程的详细信息,也不知道正在处理的数据的类型/数量,很难说,
Read
方法可能是每次调用时都要访问数据库,所以您所描述的可能是在数据库繁忙时发生的。请尝试将数据读入DataTable。ODBC是许多不同数据源的抽象层,不知道您连接到的数据源的类型,也不知道有关调用过程的详细信息,也不知道正在处理的数据的类型/数量,很难说,
Read
方法可能是每次调用时都要访问数据库,所以您所描述的可能是在数据库繁忙时发生的。尝试将数据读入DataTable。