Titolo: Conoscere lo stato della base dati da remoto
Categoria: Codice |
|
Ultimo Aggiornamento: 09/03/05 |
Supponiamo di voler conoscere lo stato di una base dati remota, alla quale non possiamo accedere direttamente. Il seguente metodo, usando semplicemente il comando SEND PACKET, permette di costruire un file testo separato da tabulazioni (quindi apribile ad esempio con Excel) sullo stato della base dati da qualsiasi client. Nel'esempio che riporto vogliamo conoscere lo stato dei data segment e il numero di record delle tabelle.
$DocRef:=Create document("")
If (ok=1)
`Intestazioni
$Text:="Segment Size"+Char(Tab )+"Percorso"+Char(Carriage return )+Char(Carriage return )
SEND PACKET($DocRef;$Text)
`trovo i segmenti
ARRAY TEXT(text_Segments;0)
DATA SEGMENT LIST(text_Segments)
`scrivo per ogni segmento dimensione del file e percorso
For ($Segment;1;Size of array(text_Segments))
$Size:=Get document size(text_Segments{$Segment})
$Text:=String($Size;"#,###,###,##0")+Char(Tab )+text_Segments{$Segment}+Char(Carriage return )
SEND PACKET($DocRef;$Text)
End for `una linea vuota
$Text:=Char(Carriage return )
SEND PACKET($DocRef;$Text)
`ancora intestazioni...
$Text:="Table #"+Char(Tab )+"Table Name"+Char(Tab )+"Records"+Char(Tab )+"Cancellati"+Char(Tab )+"Frag%"+Char(Carriage return )+Char(Carriage return )
SEND PACKET($DocRef;$Text)
`ciclo su ogni tabella
For ($Table;1;Count tables)
$Recs:=Records in table((Table($Table))->)
$Max:=Sequence number((Table($Table))->)
$Deletions:=($Max-1)-$Recs
$Frag:=($Deletions/$Recs)*100 `Expressed as a percentage
$Text:=String($Table)+Char(Tab )+Table name($Table)+Char(Tab )+String($Recs)+Char(Tab )+String($Deletions)+Char(Tab )+String($Frag)+Char(Carriage return )
SEND PACKET($DocRef;$Text)
End for CLOSE DOCUMENT($DocRef)
End if
Inviato da: PierPaolo Sichera |
|
Visite: 11965 |
Se accedi con utente e password, puoi aggiungere dei commenti.