2009-01-16 5 views
0

Je souhaite me connecter à un serveur de base de données dans mon application .NET et exécuter une commande de base de données qui produit une série de statistiques de base de données. Le problème est qu'il ne renvoie pas les statistiques dans un format structuré, il le renvoie en texte brut (comme une commande df -k sous UNIX) Je peux capturer la sortie et l'analyser, mais je me demandais s'il y avait une meilleure approche à quelque chose comme ça.Sortie de la commande d'analyse syntaxique dans .NET

Je ne peux certainement pas penser à une alternative, mais je voulais demander autour. Il semble un peu fragile d'analyser les résultats de la commande car si l'auteur de la base de données change le format, je casse.

Editer: La base de données est une base de données IBM UniData. La commande est "fichier.stat" et renvoie la taille d'enregistrement moyenne, la taille d'enregistrement maximale, etc.

+0

Existe-t-il un autre moyen de se connecter à cette base? – okutane

+0

Quelle est la commande? Peut-être que quelqu'un ici connaît une autre façon de retourner les mêmes données dans un format plus structuré. – inferis

+0

Peut-être que les résultats de cette commande de base de données sont également stockés dans la base de données elle-même, dans une sorte de table/vue? Si c'est le cas, vous pouvez interroger ces tables/vues. – tuinstoel

Répondre

2

Oui, analyser la description. Cependant, vous devriez d'abord vérifier la version de la base de données. De cette façon, si les données de fichier.stat changent, vous pouvez appeler des routines alternatives.
Remarque: Les données de sortie de fichier.stat ont été statiques pendant un certain temps et ne changeront probablement pas.

:file.stat TEST 

File name        = TEST 
Number of groups in file (modulo)  = 3 
Static hashing, hash type    = 0 
Block size       = 2048 
Number of records      = 12 
Total number of bytes     = 2335 

Average number of records per group = 4.0 
Standard deviation from average  = 1.0 
Average number of bytes per group  = 778.3 
Standard deviation from average  = 286.2 

Average number of bytes in a record = 194.6 
Average number of bytes in record ID = 4.3 
Standard deviation from average  = 42.3 
Minimum number of bytes in a record = 113 
Maximum number of bytes in a record = 270 

Minimum number of fields in a record = 66 
Maximum number of fields in a record = 80 
Average number of fields per record = 72.7 
Standard deviation from average  = 6.5 
The actual file size in bytes   = 8192. 
Questions connexes