Как программно импортировать документ Excel в таблицу SQL Azure?C#

Место общения программистов C#
Anonymous
Как программно импортировать документ Excel в таблицу SQL Azure?

Сообщение Anonymous »

Наше веб-приложение ASP.NET позволяет пользователям импортировать данные из Excel. В настоящее время мы размещаемся на наших собственных серверах, поэтому имеем доступ к файловой системе как с веб-сервера, так и с сервера SQL. В настоящее время процесс работает следующим образом:
  • Сохранить загруженный файл во временную папку на сервере.
  • Выполнить T-SQL для чтения загруженного файла непосредственно из файловой системы во временную таблицу SQL через OLEDB.
  • Выполнить T-SQL для чтения данных из временной таблицы и обработки по мере необходимости (например, сравнить с существующими данными и обновить/вставить при необходимости).
Шаг 2 выглядит примерно так:

Код: Выделить всё

Select * into #MY_TEMP_TABLE
From OpenRowSet(
'Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; Database=PATH_TO_MY_UPLOADED_FILE; HDR=YES',
'Select * From MY_WORKSHEET_NAME%')
Это очень быстро и просто по сравнению, например, с чтением файла в таблицу данных в .NET с помощью EPPlus и последующей вставкой данных построчно.

Мы находимся в процессе подготовки приложения к Azure (веб-сайт Azure и база данных SQL, а не виртуальная машина). Мы можем загрузить файл в хранилище BLOB-объектов и поместить его содержимое в массив байтов, но тогда мы застрянем в подходе к построчной обработке, который является медленным и нестабильным.

Есть ли быстрый способ программной массовой загрузки Excel в SQL в Azure?

Подробнее здесь: https://stackoverflow.com/questions/257 ... -sql-table

Вернуться в «C#»