1

我正在使用以下命令从 Sybase 日志中提取一些数据:

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 [大字符串不可用]

这些大字符串可以表示在 begin end 块中运行的一些查询。您能帮我解决这个问题,以便在我的 grep 命令的结果中列出这些字符串吗?

4

1 回答 1

1

如果请求日志输出中出现“大字符串不可用”,这不是在骗你——字符串不可用。这意味着 SQL 字符串在发送到服务器时被分解为多个部分,请求记录代码不处理这种情况。

免责声明:我为 SAP/Sybase 工作,从事 SQL Anywhere 工程。SAP Sybase IQ 基于 SQL Anywhere 引擎。

于 2013-07-11T02:46:57.703 回答