Есть ли у кого-нибудь еще такая же проблема, когда вы импортируете данные из файла Excel в MSSQL Server 2005, если какой-то столбец содержит в основном числовые данные, но даже если вы установите тип столбца на varchar, мастер не сможет импортировать те поля, которые не удается проанализировать как числа?
Мастеру импорта данных не нравится тип данных, который я выбираю для столбца
Ответы (6)
Попробуйте это (Примечание: эти инструкции основаны на Excel 2007) ...
Следующие шаги должны заставить Excel рассматривать столбец как текст:
Откройте вашу электронную таблицу в Excel.
Выберите весь столбец, который содержит ваши «в основном числовые данные», щелкнув заголовок столбца.
Щелкните вкладку «Данные» в меню ленты.
Выберите Текст в столбцы. Это вызовет мастер преобразования текста в столбцы.
-На шаге 1: нажмите «Далее».
-На шаге 2: нажмите «Далее».
-На шаге 3: выберите «Текст» и нажмите «Готово».
Сохраните лист Excel.
Повторите импорт с помощью мастера импорта данных SQL Server 2005.
Вам необходимо отредактировать строку подключения, которую использует SSIS. Добавьте это в конец строки «IMEX = 1;» (Без кавычек) Это говорит SSIS / jet не пытаться выяснить, что это за типы данных. Просто импортируйте их.
Вы можете попробовать изменить настройки Jet для импорта данных Excel. Вы можете заставить движок Jet взять образец всего листа при попытке определить тип столбца во время данного импорта. Измените следующий раздел реестра (предварительно сделав резервную копию) и посмотрите, не работает ли это:
HKLM\Software\Microsoft\Jet\4.0\Engines\Excel
Or on x64
HKLM\Software\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel
Установите значение TypeGuessRows равным нулю. Это заставит Jet выполнить выборку всех строк для определения типа столбца.
Создайте новый столбец, который является апостофом + содержимое столбца, который вы хотите импортировать. Это заставит его быть строкой
= "'" & E2
Добавление IMEX = 1 ДО у меня сработало.
Это лучшее решение:
Щелкните Файл в меню ленты, а затем щелкните Параметры.
Нажмите кнопку «Дополнительно», а затем в разделе «При вычислении этой книги» установите флажок «Установить точность как отображаемую» и нажмите кнопку «ОК».
Щелкните ОК.
На листе выделите ячейки, которые хотите отформатировать.
На вкладке «Главная» щелкните изображение кнопки запуска диалогового окна рядом с полем «Номер».
В поле Категория щелкните Число.
В поле Десятичные разряды введите количество десятичных знаков, которое вы хотите отобразить.