Как убедиться, что DT_STR принимается адресатом OLE DB? - PullRequest
2 голосов
/ 23 апреля 2019

У меня есть преобразование преобразования данных, которое выводит в пункт назначения OLE DB. Диспетчер подключений для пункта назначения подключается к SQL Server, размещенному в Azure. Режим доступа к данным установлен на «Таблица или просмотр».

В исходном запросе есть поле с именем ProductLine, которое преобразует nvarchar(255) с именем DescriptionField в более короткий код. В исходном запросе было несколько воплощений этого поля, но в настоящее время оно выглядит так:

CONVERT(char(2), IIF(DescriptionField = 'TypeOne', 'TO', 'TT')) AS ProductLine

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

Строка или двоичные данные будут усечены

Я сбит с толку этим, потому что поле в месте назначения char(2), not null.

Могу ли я выполнить преобразование в преобразовании преобразования данных, чтобы сделать это поле приемлемым для пункта назначения? В качестве альтернативы я могу запросить изменение исходного запроса.

...