Проблема с импортом файлов Excel с пустыми строками в таблицы SQLServer 2005 - PullRequest
0 голосов
/ 18 февраля 2011

Я использую функцию openrowset() для импорта файла Excel во временную таблицу SQLServer 2005.

В большинстве случаев работает нормально. Но если первые 10 строк файла Excel являются нулевыми, остальные ненулевые строки импортируются как нулевые.

Кто-нибудь сталкивался с этой проблемой ранее? Есть мысли, как это преодолеть?

1 Ответ

0 голосов
/ 18 февраля 2011

Это вызвано тем, как драйвер OLEDB определяет типы данных в Excel.По умолчанию он сканирует первые 8 строк, чтобы определить тип данных полей.

  • Раньше вы могли устанавливать «MaxScanRows» в строке подключения, чтобы настроить строки для сканирования на листе.Этот параметр, к сожалению, больше не работает, начиная с Jet 4.0.Единственный способ заставить его сейчас - это установить ключ реестра [HKLM \ Software \ Microsoft \ Jet \ 4.0 \ Engines \ Excel \ TypeGuessRows].Возможные значения: 1-16 или 0 для сканирования всего файла.
  • Существует также настройка IMEX (что означает ImportMixedTypes). Когда вы устанавливаете значение 1, это означает «ImportMixedTypes = Text».Это решает множество проблем, так как драйвер определяет тип данных на основе количества значений в определенном типе, который он находит.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...