Вот мой код:
private const string CONNECTION_STRING
= "Driver={Microsoft dBase Driver (*.dbf)};"
+ "collatingsequence=ASCII;"
+ "defaultdir={0};"
+ "driverid=277;"
+ "maxbuffersize={1};"
+ "pagetimeout={2}";
string connString = string.Format(CONNECTION_STRING, filePath, MAX_BUFFER_SIZE, PAGE_TIMEOUT);
using (var _conn = new System.Data.Odbc.OdbcConnection(connString))
{
_conn.Open();
using (var _comm = _conn.CreateCommand())
{
_comm.CommandText = QUERY_STRING;
_comm.CommandType = CommandType.Text;
using (var rdr = _comm.ExecuteReader())
{
while (rdr.Read())
{
/*Do something*/
}
}
}
}
Я получаю сообщение об ошибке «Ошибка выполнения SQL».Выполненный оператор SQL: SELECT * FROM MyTable Источник ошибки odbcjt32.dll Сообщение об ошибке Ошибка [HY001] [Microsoft] [Драйвер ODBC dBase] Превышен системный ресурс.
Открыто несколько гигабайт ОЗУ и HD, до и после запроса,И это всегда работает на первом проходе, но не на всех последовательных проходах.
Запуск в Win 7 64 и .NET 4.0.
Когда я получаю сообщение об ошибке, я перезагружаюсь кочисти это.Хотя я еще не пробовал делать GC-сброс.