hallo zusammen,
mich quält seit mehreren tagen folgendes problem.
aus vorhandenem xml-file soll ich einzelne informationen extrahieren, wie z.b.
1. gesamtanzahl der SELECTS
---> count(SlowLogData/row[./col[1]=(contains(.,'SELECT'))])
2. anzahl der SELECTS auf eine bestimmte datenbank
---> count(SlowLogData/row[./col[1]=(contains(.,'Dateiversionen'))])
diese informationen kann ich auf diese weise recht einfach gewinnen,
aber nun zum problem:
es ist mir nicht gelungen die anzahl der SELECTS eines bestimmten users auf eine bestimmte datenbank zu zählen. hierzu muss ich ja nicht nur einen eintrag/zeile auswerten sondern mehrere zeilen betrachten.
zu einem datensatz gehören:
a) time
b) user
c) querytime
d) select
folgender aufruf funktioniert leider nicht:
count(SlowLogData/row[(./col[1]=( (contains(.,'User@Host:')) and ((contains(.,$tisAdmin))) and (./row[position()+2]/col[1]=(contains(./row[position()+2]/col[1],'Dateiversionen'))) ))])
das xml-file hat folgende struktur:
<?xml version="1.0" encoding="utf-8"?>
<SlowLogData>
<row>
<col># Time: 070612 13:26:48</col>
</row>
<row>
<col># User@Host: ittadmin[ittadmin] @ itt052nb.de.itt.cds.ham [10.253.16.111]</col>
</row>
<row>
<col># Query_time: 5 Lock_time: 0 Rows_sent: 41136 Rows_examined: 286667</col>
</row>
<row>
<col>SELECT * FROM ZeITT Z WHERE Z.ZertArt='ISO'</col>
<col />
</row>
<row>
<col># Time: 070612 13:35:17</col>
</row>
<row>
<col># User@Host: ittadmin[ittadmin] @ hanc01pc.de.itt.cds.ham [10.253.10.22]</col>
</row>
<row>
<col># Query_time: 38 Lock_time: 0 Rows_sent: 20 Rows_examined: 40</col>
</row>
<row>
<col>SELECT DateinameID FROM Dateiversionen WHERE Programm = ''</col>
<col />
</row>
<row>
<col># Time: 070612 13:36:43</col>
</row>
<row>
<col># User@Host: ittadmin[ittadmin] @ hanc01pc.de.itt.cds.ham [10.253.10.22]</col>
</row>
<row>
<col># Query_time: 72 Lock_time: 0 Rows_sent: 26 Rows_examined: 52</col>
</row>
<row>
<col>SELECT DateinameID FROM Dateiversionen WHERE Programm = 'LIMSDll'</col>
<col />
</row>
<row>
<col># Time: 070612 13:37:44</col>
</row>
<row>
<col># User@Host: ittadmin[ittadmin] @ hanc01pc.de.itt.cds.ham [10.253.10.22]</col>
</row>
<row>
<col># Query_time: 80 Lock_time: 0 Rows_sent: 26 Rows_examined: 52</col>
</row>
<row>
<col>SELECT DateinameID FROM Dateiversionen WHERE Programm = 'LIMSDll' ORDER BY ID DESC</col>
<col />
</row>
<row>
<col># Time: 070612 13:46:45</col>
</row>
<row>
<col># User@Host: ittuser[ittuser] @ hanc01pc.de.itt.cds.ham [10.253.10.22]</col>
</row>
<row>
<col># Query_time: 2 Lock_time: 0 Rows_sent: 0 Rows_examined: 0</col>
</row>
<row>
<col>SELECT DateiLaenge, Datei FROM Dateiversionen WHERE ID = 683</col>
<col />
</row>
<row>
<col># Time: 070612 14:18:12</col>
</row>
<row>
<col># User@Host: ittuser[ittuser] @ itt062pc.de.itt.cds.ham [10.253.19.34]</col>
</row>
<row>
<col># Query_time: 7 Lock_time: 0 Rows_sent: 4 Rows_examined: 129172</col>
</row>
<row>
<col>SELECT OPCOD FROM Service WHERE SAUNR = '4558318' AND FLAG IS NULL OR FLAG = ''</col>
<col />
</row>
<row>
<col># Time: 070612 14:20:59</col>
</row>
<row>
<col># User@Host: ittservice[ittservice] @ ittapp02.de.itt.cds.ham [10.253.12.30]</col>
</row>
<row>
<col># Query_time: 8 Lock_time: 0 Rows_sent: 26729 Rows_examined: 53458</col>
</row>
<row>
<col>SELECT HESTN FROM Equipment WHERE EQUNR = ' ' </col>
<col />
</row>
</SlowLogData>
ich bin dankbar für jeden hinweis oder idee.
gruss
patrick
mich quält seit mehreren tagen folgendes problem.
aus vorhandenem xml-file soll ich einzelne informationen extrahieren, wie z.b.
1. gesamtanzahl der SELECTS
---> count(SlowLogData/row[./col[1]=(contains(.,'SELECT'))])
2. anzahl der SELECTS auf eine bestimmte datenbank
---> count(SlowLogData/row[./col[1]=(contains(.,'Dateiversionen'))])
diese informationen kann ich auf diese weise recht einfach gewinnen,
aber nun zum problem:
es ist mir nicht gelungen die anzahl der SELECTS eines bestimmten users auf eine bestimmte datenbank zu zählen. hierzu muss ich ja nicht nur einen eintrag/zeile auswerten sondern mehrere zeilen betrachten.
zu einem datensatz gehören:
a) time
b) user
c) querytime
d) select
folgender aufruf funktioniert leider nicht:
count(SlowLogData/row[(./col[1]=( (contains(.,'User@Host:')) and ((contains(.,$tisAdmin))) and (./row[position()+2]/col[1]=(contains(./row[position()+2]/col[1],'Dateiversionen'))) ))])
das xml-file hat folgende struktur:
<?xml version="1.0" encoding="utf-8"?>
<SlowLogData>
<row>
<col># Time: 070612 13:26:48</col>
</row>
<row>
<col># User@Host: ittadmin[ittadmin] @ itt052nb.de.itt.cds.ham [10.253.16.111]</col>
</row>
<row>
<col># Query_time: 5 Lock_time: 0 Rows_sent: 41136 Rows_examined: 286667</col>
</row>
<row>
<col>SELECT * FROM ZeITT Z WHERE Z.ZertArt='ISO'</col>
<col />
</row>
<row>
<col># Time: 070612 13:35:17</col>
</row>
<row>
<col># User@Host: ittadmin[ittadmin] @ hanc01pc.de.itt.cds.ham [10.253.10.22]</col>
</row>
<row>
<col># Query_time: 38 Lock_time: 0 Rows_sent: 20 Rows_examined: 40</col>
</row>
<row>
<col>SELECT DateinameID FROM Dateiversionen WHERE Programm = ''</col>
<col />
</row>
<row>
<col># Time: 070612 13:36:43</col>
</row>
<row>
<col># User@Host: ittadmin[ittadmin] @ hanc01pc.de.itt.cds.ham [10.253.10.22]</col>
</row>
<row>
<col># Query_time: 72 Lock_time: 0 Rows_sent: 26 Rows_examined: 52</col>
</row>
<row>
<col>SELECT DateinameID FROM Dateiversionen WHERE Programm = 'LIMSDll'</col>
<col />
</row>
<row>
<col># Time: 070612 13:37:44</col>
</row>
<row>
<col># User@Host: ittadmin[ittadmin] @ hanc01pc.de.itt.cds.ham [10.253.10.22]</col>
</row>
<row>
<col># Query_time: 80 Lock_time: 0 Rows_sent: 26 Rows_examined: 52</col>
</row>
<row>
<col>SELECT DateinameID FROM Dateiversionen WHERE Programm = 'LIMSDll' ORDER BY ID DESC</col>
<col />
</row>
<row>
<col># Time: 070612 13:46:45</col>
</row>
<row>
<col># User@Host: ittuser[ittuser] @ hanc01pc.de.itt.cds.ham [10.253.10.22]</col>
</row>
<row>
<col># Query_time: 2 Lock_time: 0 Rows_sent: 0 Rows_examined: 0</col>
</row>
<row>
<col>SELECT DateiLaenge, Datei FROM Dateiversionen WHERE ID = 683</col>
<col />
</row>
<row>
<col># Time: 070612 14:18:12</col>
</row>
<row>
<col># User@Host: ittuser[ittuser] @ itt062pc.de.itt.cds.ham [10.253.19.34]</col>
</row>
<row>
<col># Query_time: 7 Lock_time: 0 Rows_sent: 4 Rows_examined: 129172</col>
</row>
<row>
<col>SELECT OPCOD FROM Service WHERE SAUNR = '4558318' AND FLAG IS NULL OR FLAG = ''</col>
<col />
</row>
<row>
<col># Time: 070612 14:20:59</col>
</row>
<row>
<col># User@Host: ittservice[ittservice] @ ittapp02.de.itt.cds.ham [10.253.12.30]</col>
</row>
<row>
<col># Query_time: 8 Lock_time: 0 Rows_sent: 26729 Rows_examined: 53458</col>
</row>
<row>
<col>SELECT HESTN FROM Equipment WHERE EQUNR = ' ' </col>
<col />
</row>
</SlowLogData>
ich bin dankbar für jeden hinweis oder idee.
gruss
patrick
Comment