Задать вопрос
@AndrewGrudin

Почему при импорте данных содержащих колонку с FK из excel на сервер выдается ошибка?

Если лист excel имеет колонки с текстовыми данными только, например:

Оrganization        Address            Phone            Cite                Emaill
Альфа                Челябинск,...    (351)...        http://...ru/      ....@mail.ru


импорт происходит без проблем.

Но, моя задача немного сложнее. Мне необходимо чтобы импортировались не только текстовые данные, но и один(или несколько) FK(uniqueidentifier).
Т.е. упрощенно, в моем случае, это будет выглядеть примерно следующим образом:

Оrganization        Address            Phone            Cite                Email              TerritoryID
Альфа                Челябинск,...    (351)...        http://...ru/      ....@mail.ru     B02FA236-FAFE-4FFA-A8BF-740E79E68B18

Значение B02FA236-FAFE-4FFA-A8BF-740E79E68B18 соответсвует Челябинской области.
Я скопировал это значение из базы данных и вставил в колонку TerritoryID листа excel.

После попытки импорта выдается ошибка :

Executing (Error)
Messages
Error 0xc02020c5: Data Flow Task 1: Data conversion failed while converting column "field" (33) to column "field" (134). The conversion returned status value 2 and status text "The value could not be converted because of a potential loss of data.".
(SQL Server Import and Export Wizard

Пожалуйста, подскажите в чем проблема. Я думаю, что собака зарыта видимо в несоответствии форматов. Т.е. uniqueidentifier будучи тупо вставлен в excel в текстовом виде не имеет возможности
импортироваться в таблицу на сервер.

Пожалуйста помогите решить проблему, иначе мне приходится делать лишнюю ручную работу. Т.е., например, при импорте 200 записей по Челябинску, придется открывать 200 карточек организаций и вручную, из выпадающего списка областей, выбирать Челябинскую обл.
  • Вопрос задан
  • 34 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
hint000
@hint000
у админа три руки
Во-первых, тип данных в колонке в SQL Server Import and Export Wizard можно руками выбрать. Выбирали там руками uniqueidentifier [DT_GUID]? См. скриншот.
Во-вторых, за минуту нагугливается аналогичный вопрос на SO из 2021 года, и там рекомендуют забирать GUID в фигурные скобки. Прямо в исходных данных чтобы было: {B02FA236-FAFE-4FFA-A8BF-740E79E68B18}
67e77fc07ab1c237252622.png67e77fd91147b704305051.png
Ответ написан
Комментировать
@AndrewGrudin Автор вопроса
Oчень, очень вам благодарен!
Правда, в моем случае, Data Source как Flat File Source не работает, т.к. у меня excel file, соответсвенно выбираю опцию Microsoft Excel.
В этом случае даже формат (uniqeidentifier) ручками выставлять не нужно - SSIS его сам определяет.
Короче, закавыка была в отсутствии фигурных скобок обрамляющих ключ в колонке TerritoryID excel файла (источника).
Я ведь, лошара, про скобки то совсем забыл, а это нужно было мне в первую очередь проверить! Блудил в трех соснах.
Еще раз благодарю, за то, что вынули пулю из головы! Дай вам Бог здоровья!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы