Разбор вывода команды в .NET - PullRequest
0 голосов
/ 16 января 2009

Я хочу подключиться к серверу базы данных в моем приложении .NET и выполнить команду базы данных, которая производит серию статистики базы данных. Проблема в том, что он не возвращает статистику в структурированном формате, он возвращает ее в виде простого текста (например, команда df -k в UNIX). Я могу захватить вывод и проанализировать его, но мне было интересно, есть ли лучший подход что-то вроде этого.

Я, конечно, не могу придумать альтернативу, но я хотел спросить вокруг. Анализ результатов команды кажется немного хрупким, потому что, если автор базы данных когда-либо изменит формат, я нарушу.

Редактировать: База данных является базой данных IBM UniData. Это команда file.stat, которая возвращает средний размер записи, максимальный размер записи и т. Д.

1 Ответ

2 голосов
/ 22 января 2009

Да, разбор по описанию. Тем не менее, вы должны сначала проверить версию базы данных.

:version
Module Name         Version   Licensed
UniData RDBMS............ 7.1     Yes

Таким образом, если данные file.stat изменяются, вы можете вызывать альтернативные процедуры.
Примечание: Выходные данные file.stat некоторое время были статическими и вряд ли изменятся.

: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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...