我正在尝试为 dbcommand 设置超时,并对其进行测试,这就是超时设置为 1 的原因。
这是我正在使用的代码,但超时永远不会触发,我做错了什么吗?
注意:使用 DbConnection 是因为此代码是从通用代码中提取的,不仅用于 db2,因此 db2connection 不是一个选项。
String lProviderFactory = "System.Data.OleDb";
String lStrConexion = "Provider=IBMDADB2;Database=PYRAMID;Hostname=192.9.200.13;Protocol=TCPIP; Port=50000;Uid=db2admin;Pwd=xxx;";
String lQuery = "SLOW SELECT";
var lDbFactory = DbProviderFactories.GetFactory(lProviderFactory);
DbConnection mConexion = lDbFactory.CreateConnection();
mConexion.ConnectionString = lStrConexion;
mConexion.Open();
try
{
DbCommand lComando = mConexion.CreateCommand();
lComando.CommandText = lQuery;
lComando.CommandTimeout = 1;
DbDataAdapter lAdapter = lDbFactory.CreateDataAdapter();
lAdapter.SelectCommand = lComando;
DataSet lDs = new DataSet();
lAdapter.Fill(lDs);
}
catch(Exception ex)
{
Console.WriteLine("EXCEPCION :" + ex.Message); //Timeout should fall in here
}
finally
{
mConexion.Close();
}
谢谢!