2010-01-12 3 views
4

У меня есть пакет SSIS, который экспортирует данные из таблицы в базе данных SQL Server 2005 в электронную таблицу Excel. Имеющаяся таблица содержит 15 листов, и я пытаюсь заполнить значения на одном из этих листов.SQL Server 2005 Передача данных SQL Server в Excel Корректирует файл Excel

У меня есть файл шаблона, который я клонировал, чтобы быть целью экспорта (простая задача файловой системы). Этот файл шаблона действителен и не поврежден.

У меня тогда есть моя задача потока данных, которая использует SQL Query в качестве источника данных. Если я просмотрю это, все будет в порядке. Затем я исключаю все, кроме одного из столбцов (тип данных int).

У меня есть источник данных excel (который является целевой таблицей, как указано выше), и я связываю их, перенося один выбранный столбец. Когда я просматриваю, я получаю первый намек на то, что что-то не так:

Приведенная выше информация о предварительном просмотре.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

индекс и длина должны относиться к местоположению в пределах строки.

Имя параметра: длина (mscorlib)

Когда я бегу пакет, он проходит через нормально, сообщая, что у меня есть одна строка дублируются. Когда я открываю таблицу, я получаю следующее сообщение об ошибке:

файла Ошибка: данные могут быть потеряны

Таблица, по-прежнему загружает однако, и когда я иду к листу я пытающегося для заполнения, он создал новый столбец с текстом из другого листа.

Когда я пытаюсь использовать весь список столбцов в пакете SSIS, он, как представляется, извлекает данные из других областей электронной таблицы, что заставляет меня думать, что процесс каким-то образом искажает электронную таблицу.

Моя первоначальная мысль заключалась в том, что, возможно, это была проблема с тем, что пакет обновления не был развернут, но я наблюдал это поведение при установке RTM и SP3 SQL 2005, и я немного застрял.

Я был бы очень признателен всем, кто имел похожие впечатления и мог бы помочь. Благодаря

+1

Не согласен с закрытым голосованием «Приходит на сервере». Это проблема программирования в среде разработки. Код еще не попал ни на какие серверы. –

ответ

6

Мы дошли до этого.

Для получения данных, отображаемых в правильном формате, разработчик электронной таблицы имел скрытую строку значений в качестве первой строки таблицы. Это то, что вам нужно сделать, если вы хотите, чтобы ваши номера были цифрами и т. Д.

Таким образом, в ячейках, ячейке которых должен был быть номер, дате в каждой ячейке столбца даты и апострофе (') для всех текстовых столбцов было помещено 0.

Последнее не было строго необходимо, и когда они были удалены, электронная таблица, казалось, начала работать.

Особенность этого, однако, заключается в том, что электронная таблица работала нормально во всех средах доставки. Только в ходе локального развития возникла проблема.

Если кто-то может пролить свет на то, почему это так, тогда это будет очень признательно.

1

I have an excel data source (which is the target spreadsheet as mentioned above), and I link the two, carrying across the single column selected. When I preview, I get the first hint that something is wrong:

There was an error displaying the preview.

ADDITIONAL INFORMATION:

Index and length must refer to a location within the string.

Parameter name: length (mscorlib)

When I run the package, it goes through ok, reporting that I have 1 row copied across. When I open the spreadsheet, I get the following error:

File Error: data may have been lost

Вы пытались воссоздать этот компонент назначения? Это было бы неплохо для начала, похоже, что он стал коррумпированным (не уверен, что коррумпированное - это правильное слово, но в SSIS, которое я нашел) это происходит очень часто. Обычно я пытаюсь заменить компоненты проблемы, прежде чем исследовать другие возможности.

+0

Спасибо за ответ. Полезная вещь попробовать, следовательно +1, но не решила мою проблему. В итоге я полностью заменил задачу потока данных, но эта же проблема возникла. Тем не менее, мне удалось избавиться от ошибки предварительного просмотра. Удаление пробелов из названий листов в Excel, казалось, делало это, хотя я не совсем уверен. –

+0

Ах да, я тоже заметил, что он не любит пространства в листах. – ajdams

2

У меня была точно такая же ошибка в предпросмотре:

«Индекс и длина должна относиться к местоположению в строке

Имя

параметра:. Длина (mscorlib)»

Один из имена листов в файле Excel содержали пробельный символ, а также дефис. Не имело значения, какой лист имел пробел или дефис, поскольку мне пришлось удалить все из них, чтобы использовать предварительный просмотр.

1

Это сообщение появляется, когда я пытаюсь просмотреть предварительный просмотр файла Excel с помощью SSIS.

Решение, которое я нашел, это изменить название листа.

Он должен начинаться с буквы, и вам нужно удалить все пробелы.

Смежные вопросы