Инкапсулируйте строку, чтобы игнорировать кавычки - PullRequest
0 голосов
/ 16 марта 2020

Работая в SSIS, я хочу перехватить сообщение об ошибке и вставить в мою таблицу.

Вот мой оператор вставки (как переменная SSIS):

INSERT INTO dbo.info_etl (event_start,event_end,object,event,status,affected_rows,comment)
VALUES
(CONVERT(DATETIME,'"+ (DT_WSTR, 20) @[System::StartTime] +"',103),GETDATE(),'AMDB_ETL_sn_Mirror', 'LOAD','FAILURE', 0 ,
'Component: " +  @[System::SourceDescription] +
"Error:  " + @[System::ErrorDescription] + "')

К сожалению, эта вставка завершается неудачно, когда содержимое переменной @ [System :: ErrorDescription] содержит кавычки ("), поскольку это разрывает строку Я вставляю в столбец комментарий .

Пример; @ [System :: ErrorDescription] =

Executing the query "RAISERROR ( 'Whoops, an error occurred.',11,1)" failed with the following error: "Whoops, an error occurred.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

Есть ли какой-нибудь умный способ инкапсулирующая часть строки, которая должна обрабатываться буквально, даже если она содержит кавычки?

1 Ответ

0 голосов
/ 16 марта 2020

Я думаю, что ошибка в

DATETIME,'"+ (DT_WSTR, 20) @[System::StartTime] +"',103

Я думаю, что это должно быть примерно так:

Remove: '"+ and +"'

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