Конфликтная длина данных для столбца (3) Unicode - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь передать данные из Teradata в SQL Server, но у меня проблема. Когда он пытается получить данные из источника (TD), он выдает следующую ошибку: Conflicting data length for column (3) - "Description". Source column's data length is (40) Target column's data length is (60). Но мой столбец в таблице - 20 Unicode. Я понял, что проблема будет в UNICODE (я не могу изменить тип данных таблицы / столбца в TD). Я пробовал следующие методы для «преобразования».

  • первый метод заключался в том, чтобы взять столбец с функцией Translate в построителе выражений / sql команда: Translate (Описание с использованием unicode_to_latin с ошибкой) в построителе выражений. Как это работает, данные вставляются, но на SQL сервере вставленные данные отображаются нормально (некоторые данные), а другие - нет (те, которые имеют специальные символы). Как мне добавить специальные символы (для России или другой страны, в которой есть специальные символы)?:

enter image description here

  • Другой метод, который я пробовал было указать в построителе выражений столбец описания (DT_WSTR, 40):

"SELECT" + (DT_WSTR, 40) "StoreDimLevelDescription" + ", from bd"

  • Выражение работает, но, к сожалению, когда я запускаю, оно не работает и дает мне указанную выше ошибку.

  • Я также пытался изменить из TD SOURCE, из «Показать расширенный редактор ..», -> Свойства INPUT и OUTPUT -> TD Source Output -> External Column -> Description -> DataType установлен на Unicode String [DT_WSRT]. То же самое для столбцов вывода. Я нажал кнопку ОК, но из того, что я заметил, мои данные не сохраняются.

  • Для источника TD я использую MS Connector для Teradata от Attunity (поставщик).

  • А для SQL Назначения сервера я использую ADO. NET.

Как вы думаете? ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...