Импорт Excel в SS2000; Ошибка на поле; DTS

Я пытаюсь импортировать файл Excel в базу данных SQL Server 2000 с помощью DTS. В этом нет ничего особенного, просто прямой импорт. Там, где я работаю, мы делаем это 1000 раз в день. Эта процедура обычно работает без проблем, но что-то должно быть изменено в файле.

Я получаю следующую ошибку:

Снимок экрана с ошибкой http://www.understandingguitar.org/wp-content/uploads/2008/12/packageerror-screenshot-20081212.jpg

Я проверил, чтобы столбец «AssignmentID» сохранялся как «текст» в листе Excel. Я также пытался изменить его на общее. Точно такая же ошибка независимо от настроек. Поле содержит цифры ... Я благодарен всем за помощь в этом!

С уважением,
Фрэнк

12.12.2008 20:31:54
3 ОТВЕТА

Попробуйте открыть в файле Excel и увидеть содержимое столбца.
Выравнивается ли значение строки в этом столбце по правому краю? (вообще для цифр)?

Я предполагаю, что такой ряд может быть проблемой.

0
12.12.2008 20:56:50
Это не проблема выравнивания, и, как говорится в описании проблемы, я пытался «сохранить» текст как текст (опция Excel) и пытался сохранить его как общий ...
Frank V 12.12.2008 21:18:39

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

0
12.12.2008 22:38:56
РЕШЕНИЕ

Ответ как-то связан с тем фактом, что процедура ожидает текст, но даже если для свойств (в диалоговом окне формата) задано значение «текст», Excel может не обрабатывать данные как текст. И, следовательно, SQL Server (или библиотеки) не будет обрабатывать его как текст.

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

Если выяснилось, что я могу обойти эту ошибку, поместив '(апостроф) перед каждым перечисленным числом. [IE '124321] Эта сила превосходит обработку числа как текста.

Надеюсь, это избавит других от головной боли, которую я сейчас испытываю. :-)

С уважением,
Фрэнк

0
22.12.2008 17:04:17