SSIS Developer выражения - PullRequest
       35

SSIS Developer выражения

2 голосов
/ 29 сентября 2019

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

Мой код ниже:

DECLARE @Cardholder VARCHAR(MAX)


SELECT @Cardholder = BULKCOLUMN
FROM OPENROWSET(BULK' + @[User::CARDHOLDER] +', SINGLE_BLOB) JSON

SELECT DELIVERY_METHOD, CURRENCY_CODE, COUNTRY, MOBILE, LAST_MODIFIED_DATE, EMAIL, LAST_NAME, CREATE_DATE, FIRST_NAME, ID
FROM OPENJSON(@Cardholder, '$.CardHolder')


WITH(
    DELIVERY_METHOD varchar(255) '$.delivery_method',
    CURRENCY_CODE varchar(255) '$.currency_code',
    COUNTRY varchar(255) '$.country',
    MOBILE varchar(20) '$.mobile',
    LAST_MODIFIED_DATE datetime '$.last_modified_date',
    EMAIL   varchar(255) '$.email',
    LAST_NAME   varchar(255) '$.last_name',
    CREATE_DATE datetime '$.create_date',
    FIRST_NAME varchar(255) '$.first_name',
    ID  bigint  '$.id'
)

Я получаю приведенную ниже ошибку:

Выражение не может быть оценено

SSIS error

1 Ответ

1 голос
/ 29 сентября 2019

Я думаю, что у вас есть проблема с цитатой, попробуйте использовать следующее выражение:

"DECLARE @Cardholder VARCHAR(MAX)


SELECT @Cardholder = BULKCOLUMN
FROM OPENROWSET(BULK'"  + @[User::CARDHOLDER] + "', SINGLE_BLOB) JSON

SELECT DELIVERY_METHOD, CURRENCY_CODE, COUNTRY, MOBILE, LAST_MODIFIED_DATE, EMAIL, LAST_NAME, CREATE_DATE, FIRST_NAME, ID
FROM OPENJSON(@Cardholder, '$.CardHolder')


WITH(
    DELIVERY_METHOD varchar(255) '$.delivery_method',
    CURRENCY_CODE varchar(255) '$.currency_code',
    COUNTRY varchar(255) '$.country',
    MOBILE varchar(20) '$.mobile',
    LAST_MODIFIED_DATE datetime '$.last_modified_date',
    EMAIL   varchar(255) '$.email',
    LAST_NAME   varchar(255) '$.last_name',
    CREATE_DATE datetime '$.create_date',
    FIRST_NAME varchar(255) '$.first_name',
    ID  bigint  '$.id'
)"

И убедитесь, что тип данных переменной - String

...