Я прочитал все сообщения о добавлении к числам префикса 'и установке IMEX = 1 в строке подключения; Мне кажется, ничто не помогает.
Вот настройка: столбец Excel со смешанными данными - 99% чисел (некоторые начинаются с 0) 1% текста.
ПРОГРАММНО перенос в тип таблицы / столбца SQL Server 2005 - varchar (255).
Импорт работает нормально локально, но как только я перемещаю код в рабочую среду (GoDaddy), он отбрасывает ведущие 0 в столбце.
Есть идеи?
p.s. Я знал о решении для изменения реестра, на самом деле - значение было установлено на 0 в моем блоке разработчика, но ответ заставил меня понять, что значение не было установлено на СЕРВЕРЕ ПРОИЗВОДСТВА :)





да. Драйвер Excel отбирает только первые 8 строк для определения типа данных. Это означает, что предполагается, что столбец является числовым, поскольку «bob» не отображается в строках с 1 по 8.
Тип данных столбца целевой таблицы не имеет значения.
Эта проблема была с много времени, я впервые увидел ее в 2003 году.
Обычно мы сохраняем файл как файл .csv или .txt, и тогда проблема не возникает.
Драйвер ISAM выбирает только первые 8 строк, но вы можете изменить это поведение, изменив реестр:
http://sqlserversd.wordpress.com/2008/09/14/ssis-excel-values-import-as-nulls/
Но да, использование Excel для передачи данных от машины к машине - это кошмар ... Разве нет другого способа отправить данные?
Теперь это заставило меня смеяться, типичная проблема «Но это работает на моей машине» :)
Для этого есть быстрый и хитрый способ. следуя этим шагам, НО сначала скопируйте все данные / столбцы и строки из фактического листа Excel в другой лист Excel, чтобы быть в безопасности, чтобы у вас были фактические данные для сравнения.
Шаги:
Если у вас более одного столбца с 0 значениями, просто повторите то же самое. Теперь ваш документ Excel готов к импорту с нулевыми значениями :).
Счастливые дни.
несмотря на то, что это значение было изменено в реестре, этот ответ заставил меня понять, что значение PRODUCTION SERVER не было изменено :)