OracleDataAdapter.Fill() 超时
Timeout of OracleDataAdapter.Fill()
在我用 C# 编写的应用程序中,我使用 OracleDataAdapter.Fill()
从 oracle 数据库中获取数据。有没有办法设置执行此方法的超时时间,因为有时它会永远卡住?
更新:我使用 "Oracle.DataAccess.Client;" 而不是 "System.Data.OracleClient;",然后下面的代码运行良好。
using Oracle.DataAcces.Client;
...
OracleDataAdapter yourAdapter = new OracleDataAdapter(strSQLString, connection);
yourAdapter.SelectCommand.CommandTimeout=120;
yourAdapter.fill(yourDataSet);
OracleDataAdapter
(因为每个 class 派生自 DbDataAdapter 基 class)有一个 SelectCommand
用于检索要插入的数据目标数据集,此 SelectCommand 有一个名为 CommandTimeout
的 属性,您可以将其设置为以秒为单位的时间以引发超时异常
试试这个
OracleDataAdapter yourAdapter = new OracleDataAdapter(strSQLString, connection);
yourAdapter.SelectCommand.CommandTimeout=120;
yourAdapter.fill(yourDataSet);
查看 link 以了解有关命令超时的更多信息
在我用 C# 编写的应用程序中,我使用 OracleDataAdapter.Fill()
从 oracle 数据库中获取数据。有没有办法设置执行此方法的超时时间,因为有时它会永远卡住?
更新:我使用 "Oracle.DataAccess.Client;" 而不是 "System.Data.OracleClient;",然后下面的代码运行良好。
using Oracle.DataAcces.Client;
...
OracleDataAdapter yourAdapter = new OracleDataAdapter(strSQLString, connection);
yourAdapter.SelectCommand.CommandTimeout=120;
yourAdapter.fill(yourDataSet);
OracleDataAdapter
(因为每个 class 派生自 DbDataAdapter 基 class)有一个 SelectCommand
用于检索要插入的数据目标数据集,此 SelectCommand 有一个名为 CommandTimeout
的 属性,您可以将其设置为以秒为单位的时间以引发超时异常
试试这个
OracleDataAdapter yourAdapter = new OracleDataAdapter(strSQLString, connection);
yourAdapter.SelectCommand.CommandTimeout=120;
yourAdapter.fill(yourDataSet);
查看 link 以了解有关命令超时的更多信息