Как вставить данные в файл, полный данных, вместе в таблице с помощью команды SQL?вставить данные файла в таблицу SQL
Я уже делаю это, используя foreach
, но что делать, если я не хочу вставлять строки за строкой, но все вместе?
Как вставить данные в файл, полный данных, вместе в таблице с помощью команды SQL?вставить данные файла в таблицу SQL
Я уже делаю это, используя foreach
, но что делать, если я не хочу вставлять строки за строкой, но все вместе?
Если это SQL Server, то лучшим выбором будет SqlBulkCopy
(с транзакцией или без нее, как вам нужно); для источника вы можете либо загрузить все данные из файла в DataTable
, или, в некоторых случаях вы можете создать небуферизованный IDataReader
, который по мере необходимости передает данные через файл. Подход IDataReader
является более эффективным и быстрым, но более сложным, если для ваших входных данных уже существует удобная реализация IDataReader
(например, CsvReader
для данных с разделителями). Подход DataTable
требует, чтобы все данные сначала буферизовались в памяти, а медленнее, но часто более удобны.
В качестве примечания: одна вещь, которую следует иметь в виду с массовой копией: Если одна из строк не может быть вставлена, например, из-за проблемы с дублирующимся ключом, вся вставка отменяется. – Thomas
Я делаю это с помощью public MYTYPE [] res {get; задавать; } FileHelperEngine engine = новый FileHelperEngine (typeof (MYTYPE)); а затем res = engine.ReadFile (имя_файла) как MYTYPE []; , а затем с помощью 'res' Я буду читать строки за строкой и вставить. Можете ли вы помочь мне написать его? – laila
Какая СУБД для этого? Добавьте тег, чтобы указать, используете ли вы 'mysql',' postgresql', 'sql-server',' oracle' или 'db2' - или что-то еще. –