Как экспортировать большую таблицу SQL Server в файл CSV с помощью библиотеки FileHelpers?

Я ищу, чтобы экспортировать большую таблицу SQL Server в файл CSV, используя C # и библиотеку FileHelpers. Я мог бы также рассмотреть C # и bcp, но я думал, что FileHelpers будет более гибким, чем bcp. Скорость не является особым требованием.OutOfMemoryException брошен наstorage.ExtractRecords() когда приведенный ниже код выполняется (какой-то менее важный код был опущен):

  SqlServerStorage storage = new SqlServerStorage(typeof(Order));
    storage.ServerName = "SqlServer"; 
    storage.DatabaseName = "SqlDataBase";
    storage.SelectSql = "select * from Orders";
    storage.FillRecordCallback = new FillRecordHandler(FillRecordOrder);
    Order[] output = null;
    output = storage.ExtractRecords() as Order[];

Когда приведенный ниже код запускается, время ожидания истеклоlink.ExtractToFile():

 SqlServerStorage storage = new SqlServerStorage(typeof(Order));
    string sqlConnectionString = "Server=SqlServer;Database=SqlDataBase;Trusted_Connection=True";
    storage.ConnectionString = sqlConnectionString;
    storage.SelectSql = "select * from Orders";
    storage.FillRecordCallback = new FillRecordHandler(FillRecordOrder);
    FileDataLink link = new FileDataLink(storage);
    link.FileHelperEngine.HeaderText = headerLine;
    link.ExtractToFile("file.csv");

Выполнение SQL-запроса занимает больше 30 секунд по умолчанию и, следовательно, исключение тайм-аута. К сожалению, я не могу найти в документации FileHelpers, как установить более высокое значение времени ожидания команды SQL.

Я мог бы рассмотреть цикл выбора SQL для небольших наборов данных, пока вся таблица не будет экспортирована, но процедура будет слишком сложной. Есть ли простой способ использовать FileHelpers для экспорта больших таблиц БД?

Ответы на вопрос(5)

Ваш ответ на вопрос