Если вы используете это для отчетов / веб-страниц / и т.д., я бы посмотрел на встроенные модули, которые Intersystems предоставляет для Perl, Python, Ruby и т. Д. Они должны дать вам более чистый интерфейс в базе данных.
Тем не менее, я выполняю некоторые внешние вызовы для целей мониторинга, которые не используют языковой API из-за того, что я пытаюсь получить из базы данных (обычно внутренних).В этих случаях я использую Perl.Я использую Perl, потому что, делая это таким образом, мне нужно разобрать меню и другие вещи, которые мне не нужны (чего вы не получите с API).Ниже приведен простой пример, в котором рассматриваются все пользователи, которые существуют в Cache.
#!/usr/bin/perl
use strict;
my $username = 'user';
my $password = 'password';
my $val = `csession $instance -U %SYS << done
$username
$password
d ^SECURITY
1
3
*
*
h
done`;
my @users = split(/\n/, $val);
my $in_users = 0;
my $output = '';
foreach (@users){
if($in_users){
chomp($_);
if($_ eq ''){
#no longer listing users
$in_users = 0;
} else {
$output .= "$_\n";
}
}
$in_users = 1 if($_ =~ m/^\-\-\-\-/); # I started a the user list
}
print $output; # this prints out to the console
#This prints to a file.
open(OUTFILE, ">outfile.txt");
print OUTFILE $output;
Просмотрите следующие ссылки о Perl и Python API http://docs.intersystems.com/cache20102/csp/docbook/DocBook.UI.Page.cls?KEY=GBPL и http://docs.intersystems.com/cache20102/csp/docbook/DocBook.UI.Page.cls?KEY=GBPY