在.NET中解析命令输出
我想连接到.NET应用程序中的数据库服务器,并执行一个数据库命令,该命令生成一系列数据库统计信息。问题是,它不会以结构化格式返回统计数据,而是以纯文本形式返回(如UNIX中的在.NET中解析命令输出,.net,parsing,string,unidata,.net,Parsing,String,Unidata,我想连接到.NET应用程序中的数据库服务器,并执行一个数据库命令,该命令生成一系列数据库统计信息。问题是,它不会以结构化格式返回统计数据,而是以纯文本形式返回(如UNIX中的df-k命令)。我可以捕获输出并对其进行解析,但我想知道是否有更好的方法来处理类似的问题 我当然想不出别的办法,但我想问问周围的人。解析命令结果似乎有点脆弱,因为如果数据库作者更改了格式,我就会中断 编辑:该数据库是一个IBM UniData数据库。命令是“file.stat”,它返回平均记录大小、最大记录大小等。是,解析说
df-k
命令)。我可以捕获输出并对其进行解析,但我想知道是否有更好的方法来处理类似的问题
我当然想不出别的办法,但我想问问周围的人。解析命令结果似乎有点脆弱,因为如果数据库作者更改了格式,我就会中断
编辑:该数据库是一个IBM UniData数据库。命令是“file.stat”,它返回平均记录大小、最大记录大小等。是,解析说明。但是,您应该首先检查数据库版本
: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.
还有其他方法连接到基地吗?命令是什么?也许这里有人知道以更结构化的格式返回相同数据的另一种方法。也许该数据库命令的结果也存储在数据库本身的某种表/视图中?如果是这种情况,您可以查询这些表/视图。我无法编辑您的问题,但您可能希望添加标记unidata