SSIS 开发人员表达式
SSIS Developer expressions
我想使用一个表达式创建一个 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'
)
我收到以下错误:
Expression cannot be evaluated
我认为您的报价有问题,请尝试使用以下表达式:
"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
我想使用一个表达式创建一个 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'
)
我收到以下错误:
Expression cannot be evaluated
我认为您的报价有问题,请尝试使用以下表达式:
"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