C# 什么会导致OdbcDataReader挂起?
在我的C#代码中有一个ODBC数据读取器,它是使用参数调用存储过程的结果。 当客户运行该程序时,当使用while循环从datareader检索结果时,它会在某个时间点被rdr.Read()命令停止,只需等待未定义的分钟数,然后继续C# 什么会导致OdbcDataReader挂起?,c#,odbc,datareader,C#,Odbc,Datareader,在我的C#代码中有一个ODBC数据读取器,它是使用参数调用存储过程的结果。 当客户运行该程序时,当使用while循环从datareader检索结果时,它会在某个时间点被rdr.Read()命令停止,只需等待未定义的分钟数,然后继续 while (rdr.Read()) {Somecode...} 什么会导致这种行为 在某个时刻,它会停在 Read()命令并随时待命 未定义的分钟数和 然后继续 while (rdr.Read()) {Somecode...} 因为我在等待数据。基本上看一下数据
while (rdr.Read()) {Somecode...}
什么会导致这种行为
在某个时刻,它会停在
Read()命令并随时待命
未定义的分钟数和
然后继续
while (rdr.Read()) {Somecode...}
因为我在等待数据。基本上看一下数据源,找出它挂起的原因
读者的约定是“要么等待数据,要么抛出异常”。显然,您的数据源有很长的超时时间(或者没有超时),并且数据没有流入(正如您所期望的那样)
在某个时刻,它会停在
Read()命令并随时待命
未定义的分钟数和
然后继续
while (rdr.Read()) {Somecode...}
因为我在等待数据。基本上看一下数据源,找出它挂起的原因
读者的约定是“要么等待数据,要么抛出异常”。显然,您的数据源有很长的超时时间(或无超时),并且数据没有流入(如您所期望的)。ODBC是许多不同数据源的抽象层,不知道您连接到的数据源的类型,以及有关调用过程的详细信息,也不知道正在处理的数据的类型/数量,很难说,
Read
方法可能是每次调用时都要访问数据库,所以您所描述的可能是在数据库繁忙时发生的。请尝试将数据读入DataTable。ODBC是许多不同数据源的抽象层,不知道您连接到的数据源的类型,也不知道有关调用过程的详细信息,也不知道正在处理的数据的类型/数量,很难说,Read
方法可能是每次调用时都要访问数据库,所以您所描述的可能是在数据库繁忙时发生的。尝试将数据读入DataTable。