|
SSIS ExecuteSqlTask лог запроса
|
|||
---|---|---|---|
#18+
Доброго времени, Что то задался мыслью а есть ли способ залогировать инструкцию отправляемую на сервер задачей ExecuteSQLTask. К примеру есть пакет в нем данный тип задачи. там обычная параметризированная инструкция аля Код: sql 1.
при обработке пакет валится в ошибку "Invalid time format". Возможные причины сбоя: проблемы с этим запросом, свойство "ResultSet" установлено неправильно, параметры установлены неправильно или соединение было. Тут ясно и понятно что я ошибся с типом параметра, но вопрос не в этом. Мне стало интересно можно ли навесить обработчик ошибки к таску и получить в нем доступ к свойствам самого таска. Тогда бы в обработчике можно было присвоить какой либо переменной значение свойства SqlStatementSource уровня runtime ну и далее дать отлуп куда либо. И вот тут возник нюанс, доступа то мы вроде к самому объекту из обработчика не имеем, только к значениям системных переменных но в них не та информация которую хотелось бы получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 22:41 |
|
SSIS ExecuteSqlTask лог запроса
|
|||
---|---|---|---|
#18+
felix_ff, конечно можно, и переменные в файл сохранить или в журнал виндовс или еще куда, например. На форме редактирования пакета есть закладка "обработчики событий". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 22:47 |
|
SSIS ExecuteSqlTask лог запроса
|
|||
---|---|---|---|
#18+
Владислав Колосов, Внимательно мой пост еще раз прочитайте. Я знаю что обработчики есть. Ну если хотите для примера: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
xml может не рабочая, я кучу всего сократил. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 22:57 |
|
SSIS ExecuteSqlTask лог запроса
|
|||
---|---|---|---|
#18+
felix_ff, переменные, которые передаются под вопросиками, видны в обработчике. или Вы хотите знать - какая именно строка выполнялась на сервере? Там там не строка будет. Т.е. добавьте в обработчик С# скрипт, например, и сохраните переменные в файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 23:08 |
|
SSIS ExecuteSqlTask лог запроса
|
|||
---|---|---|---|
#18+
felix_ff, System::ErrorCode, System::ErrorDescription, User::MyVar1, User::MyVar2 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 23:10 |
|
SSIS ExecuteSqlTask лог запроса
|
|||
---|---|---|---|
#18+
Владислав Колосов, я хочу получить конечную инструкцию которая будет исполнена сервером. к примеру в таске стейтмент Код: sql 1.
представим что таск работает в каком нибудь итеративном контейнере и запустится с разными параметрами 3 раза. и к примеру я хочу получить файл лога в котором будет Код: sql 1. 2. 3.
вот в таком вот варианте идеальней всего было навесить обработчик на таск к примеру на событие OnPreExecute в этом обработчике эвалютить переменную @[user::var_somelog] = @[user::var_somelog] + <TaskObject>.SqlStatementSource и уже после исполнения таска значение этой переменной записать куданибудь. но вот тут и появляется проблема что к самому объекту (к его свойствам) который вызвал обработчик мы доступа получить не можем, максимум можем получить его имя через @[System::SourceName] поэтому меня и интересует есть ли какой то способ достучатся до самого объекта таска ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 23:19 |
|
SSIS ExecuteSqlTask лог запроса
|
|||
---|---|---|---|
#18+
felix_ff, Там же OLE DB, объектная штука. На вход ему приходит как раз та строка, что в начале и список значений. Что он там дальше делает - пакету неведомо. Если это ODBC, то можно в нём самом включить трассировку и увидеть реальные команды. Но трассировка может сильно посадить производительность. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 23:21 |
|
SSIS ExecuteSqlTask лог запроса
|
|||
---|---|---|---|
#18+
Храните весь листинг таска в переменной с параметрами, в лог скидывайте собранный запрос, в переменные подставьте значения параметра VariableSQL = " Insert into ... values( ?, ?)" Вторым компонентом записи в лог, делайте подставку текущих значений параметров в VariableSQL и сохраняйте полученную строку ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2020, 09:00 |
|
|
start [/forum/topic.php?fid=46&fpage=70&tid=1686551]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 134ms |
0 / 0 |