2013-07-10 2 views
1

Я извлечение некоторых данных из журналов Sybase с помощью следующей команды:Grep Возвращение [большая строка недоступна]

grep "12345" SybaseIQ.sql | grep "REQUEST" | grep "STMT_EXECUTE_ANY_IMM" | grep "07/09" > my_sql_res.txt

В приведенной выше команде, 12345 является connection_id и REQUEST и STMT Grep заявление должны фильтровать только SQL-запросы на сервер. 07/09 применяется для фильтрации даты.

Grep прекрасно работает в течение нескольких случаях, когда он возвращает [большой строки недоступен]

линии 8, за исключением: 07/09 02: 00: 31.242 ** ПРОСЬБА сопп: 12345 STMT_EXECUTE_ANY_IMM [большой строки недоступно]

Эти большие строки могут представлять собой некоторые запросы, которые запускаются в начале блока. Не могли бы вы помочь мне разрешить это, чтобы эти строки были перечислены в результате моей команды grep?

ответ

1

Если в выводе журнала запросов появляется «большая строка недоступна», она не врут вам - строка недоступна. Это означает, что строка SQL была разбита на несколько частей при отправке на сервер, а код регистрации запроса не обрабатывает этот случай.

Отказ от ответственности: Я работаю для SAP/Sybase в SQL Anywhere. SAP Sybase IQ основан на движке SQL Anywhere.

+0

Согласовано ... Мой плохо :(... Проверил журналы и обнаружил, что его затопило с этим. Хотя, его из контекста, но есть способ, я могу справиться с этим, чтобы увидеть эти строки SQL? – Allzhere

+0

Не через ведение журнала запросов. Для операторов DDL и DML (т. Е. Не запросов) вы можете использовать файл журнала транзакций - найдите документы в утилите dbtran. –

+0

Спасибо за ваши данные. На самом деле, я изучил файл журнала и обнаружил, что сразу после строки, где она печатается «большая строка недоступна», выводится вся строка запроса. Таким образом, я смог извлечь это для справки. – Allzhere

Смежные вопросы