![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 00:30 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » sql log解析,实现了一部分 |
| 可打印版本 630 / 0 |
| 第1楼 leeinneu | 发表于 2008-04-09 23:19 |
| 新手上路 发帖 2 积分 8 | |
|
sql log解析,实现了一部分 刚刚开始学习批处理,想把一段sql log解析为可执行的sql。
sql log如下: DEBUG @ XXX - Checked out connection 256294 from pool. DEBUG @ XXX - {conn-100006} Connection DEBUG @ XXX - {conn-100006} Preparing Statement: SELECT * FROM leeinneu WHERE NAME= ? ORDER BY NAME DEBUG @ XXX - {pstm-100007} Executing Statement: SELECT * FROM leeinneu WHERE NAME= ? ORDER BY NAME DEBUG @ XXX - {pstm-100007} Parameters: leeinneu DEBUG @ XXX - {pstm-100007} Types: DEBUG @ XXX - {rset-100008} ResultSet DEBUG @ XXX - {rset-100008} Header: DEBUG @ XXX - {rset-100008} Result: DEBUG @ XXX - {rset-100008} Result: DEBUG @ XXX - Returned connection 256294 to pool. 想解析成下面的格式: Executing Statement: ---------------------------------------------------- SELECT * FROM leeinneu WHERE name = leeinneu ORDER BY name ---------------------------------------------------- Result: XXXXXXXXXX, leeinneu ---------------------------------------------------- 用java实现了,但是想用批处理来实现,另外上面的log信息可能很多,经常有几十k的。自己编了一小段,只能分离出执行,参数,和结果的,但是接下来的参替换等还不知道怎么开始,欢迎大家多多指点。先把自己写的一点点贴出来,刚刚开始,一些技巧和规范都不知道,相信你的一点小提示会给很大的帮助,先谢了: @echo off setlocal ENABLEDELAYEDEXPANSION set cnstExcu="Executing Statement:" set cnstPara="Parameters:" set cnstRslt="Result:" set varExcu="varExcu" set varPara="varPara" set varRslt="varRslt" call :select %cnstExcu% %varExcu% call :select %cnstPara% %varPara% call :select %cnstRslt% %varRslt% echo !varExcu!>>sqlbat.txt set varFmtPara="varFmtPara" call :formatPara !varPara! %varFmtPara% echo !varFmtPara!>>sqlbat.txt echo !varRslt!>>sqlbat.txt pause goto :eof :select echo start for /f "tokens=2 delims=:" %%i in ('findstr /i /c:%1 lee.txt') do set %~2=%%i goto :eof :formatPara set pathbak= set pathbak=%path% set path=%1 set formatPara=%path: = % path=%pathbak% set %~2=!formatPara! goto :eof [ Last edited by leeinneu on 2008-4-9 at 11:20 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |