OLEDB низкая производительность при вставке нескольких записей из C # в электронную таблицу Excel - PullRequest
1 голос
/ 27 августа 2011

Я использую соединение OLEDB (Microsoft.ACE.OLEDB.12) для чтения записей из таблицы данных C # и помещения записей в электронную таблицу Excel.

Я зацикливаю каждую запись в моей таблице данных и создаю OLEDBCommand.CommandText, используя "Вставить в значения имени таблицы (" и т. Д. Мне нужно соответствующим образом отформатировать значения, чтобы вставить строку / char / integer / decimal правильно. Это все работает нормально, и моя электронная таблица создана, однако, когда нужно добавить много записей (например, 500 000 и более), производительность действительно низкая и на это уходит навсегда. Есть ли более быстрый способ сделать это, чем читать одну запись из моего C # datatable за один раз, убедившись, что оператор SQL имеет правильный синтаксис для типа данных и вставлять его по одной за раз?

Любая помощь приветствуется

Спасибо

1 Ответ

2 голосов
/ 27 августа 2011

Убедитесь, что вы используете подготовленные выписки для вставок http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.prepare.aspx

...