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 的 属性,您可以将其设置为以秒为单位的时间以引发超时异常

See MSDN DbCommand.CommandTimeout

试试这个

    OracleDataAdapter yourAdapter = new OracleDataAdapter(strSQLString, connection);
    yourAdapter.SelectCommand.CommandTimeout=120;
   yourAdapter.fill(yourDataSet);

查看 link 以了解有关命令超时的更多信息