0

我需要创建一个从报告中生成 txt 文件的过程。我需要登录到 Obiee Business Intelignce,提供凭据并生成具有相应列名的报告,并将数据加载到文本文件中。我不知道 OBIEE 或 Perl。我用谷歌搜索并找到了一些相关的 URL

http://gerardnico.com/wiki/dat/obiee/catalog_manager

我需要使用 Perl 脚本使用以下凭据登录到 Obiee Tool。如何使用 Perl 登录服务器?

到目前为止,我尝试过的是:

use strict;

use warnings;
  

错误:

缺少或错误的“-输出文件”

4

1 回答 1

0

我不知道这是什么或它做了什么,但是从您找到的 URL 的文档中,看起来 API 允许这样的查询:

catalogmanager -online http://localhost:9704/analytics/saw.dll
-login Administrator -pwd Administrator
-cmd report -of c:\output.csv -delimiter \",\"
-type Requests \"Request Name\" \"Request Criteria Column\"

如果我没看错,那么你应该在这个电话中提供:

  • 正确的服务器,即,如果目录管理器或任何未在本地计算机上运行的东西,请用您的主机名替换“localhost”
  • 用户名和密码作为 `-login` 和 `-pwd` 的参数
  • 作为 `-of` 参数的输出文件名(可能是 CSV 文件)
  • 并且应该提供某种请求结构来代替“请求名称”和“请求标准列”

你会在 Perl 的脚本中使用它,如下所示:

use strict;
use warnings;

# change this to your URL
my $address        = 'http://localhost:9704/analytics/saw.dll';
my $username       = 'ADMIN';  # change this to your username
my $pwd            = 'PASSWORD';  # change this to your password
my $outputfile     = 'PATH_TO_OUTPUT_FILE';  # change this to your output file
my $delimiter      = ',';
my $request_name   = 'REQUEST_NAME';  # adjust this
my $request_column = 'REQUEST_COLUMN';  # and this

my @call = qq( catalogmanager -online $address -login $username 
    -pwd $password -cmd report -of $outputfile -delimiter $delimiter 
    -type Requests $request_name $request_column );

# system() returns true if the call was not successful,
# we can make use of this and let the program die if something went wrong
system(@call) and die("Could not exec @call: $!\n");

它应该有望将输出文件写入您指定的路径。这个文件你可以解析,但那是另一回事。

于 2012-12-03T09:19:50.077 回答