Я пытаюсь загрузить файл Excel (2003) на Sql server 2005.
В настоящее время мы используем SSIS для загрузки файла во временную таблицу (с определенной схемой), а затем перемещаем данные в их предполагаемое местоположение с помощью хранимой процедуры. Это дает много ошибок из-за несоответствия типов данных, и иногда нулевые значения загружаются в таблицу, даже если файл Excel содержит значения.
Теперь у меня есть следующие варианты
Вариант 1: (предлагается здесь )
Импорт данных в таблицу со всеми столбцами типа varchar (255). Затем сделайте, чтобы SP проверил тип данных каждого столбца, прежде чем переносить его в режим реального времени ... Здесь опять будет проблема с производительностью при использовании IsNumeric, len, IsDate и т. Д.
Вариант 2: (XML / XSD)
Создание XML-файла из файла XL и проверка его на соответствие предварительно определенному XSD перед импортом xml через .NET или через SSIS. Будет ли этот путь медленным по сравнению с вариантом 1? Смогу ли я проверить длину данных тоже? Смогу ли я сообщить, какие именно строки и столбцы вызвали ошибку?
По вашему мнению, это хорошо с точки зрения производительности и других аспектов ... В частности, когда возникает ошибка, я должен иметь возможность сообщить пользователю, какие именно строки и столбцы вызвали ошибку.
Если есть лучший способ справиться с этим ... Пожалуйста, дайте мне знать ...
Спасибо