Я хочу читать dbase-файлы с удаленного компьютера. Проблема в том, что это очень много файлов.Чтение dBase с BDE делает слишком много файловых дескрипторов
Это пример кода, который делает это. Я делаю это в потоке, потому что я хочу одновременно читать больше файлов параллельно.
using (OleDbConnection oleCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;OLE DB Services=-4;Data Source=\\XXX\d$\dBaseFiles\;Extended Properties=dBase IV;"))
{
oleCon.Open();
Console.WriteLine("Con open! {0}", oleCon.State);
OleDbCommand query = new OleDbCommand("select * from rail", oleCon);
while (Console.ReadKey().KeyChar != 'e')
{
new Thread(() =>
{
using (IDataReader dr = query.ExecuteReader())
{
while (dr.Read())
Console.WriteLine(dr["data"]);
dr.Close();
}
}).Start();
}
Console.ReadKey();
oleCon.Close();
Console.WriteLine("con close! {0}", oleCon.State);
Console.ReadKey();
}
Ручки никогда не закрываются при завершении нитей. В чем проблема? У кого-нибудь есть ответ, как я могу решить эту проблему !?