如何从perl脚本登录OBIE服务器凭据

如何从perl脚本登录OBIE服务器凭据,perl,obiee,Perl,Obiee,我需要创建一个procees,从报告中生成一个txt文件。我需要登录到OBiee-business-intellign,给出credentails并生成一个包含相应列名的报告,然后将数据加载到文本文件中。我不知道OBIEE或Perl。我在谷歌上找到了一些相关的网址 http://gerardnico.com/wiki/dat/obiee/catalog_manager 我需要使用Perl脚本使用以下凭据登录到OBIE工具。如何使用Perl登录到服务器 到目前为止,我尝试的是: use stri

我需要创建一个procees,从报告中生成一个txt文件。我需要登录到OBiee-business-intellign,给出credentails并生成一个包含相应列名的报告,然后将数据加载到文本文件中。我不知道OBIEE或Perl。我在谷歌上找到了一些相关的网址

http://gerardnico.com/wiki/dat/obiee/catalog_manager
我需要使用Perl脚本使用以下凭据登录到OBIE工具。如何使用Perl登录到服务器

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

use strict;

use warnings;
  
错误:

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


我不知道这是什么,也不知道它是做什么的,但从您找到的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\"
如果我没有看错,那么您应该在本次通话中提供:

  • 正确的服务器,即,如果catalogmanager或其他任何东西未在本地计算机上运行,请将“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");

希望它能将输出文件写入您指定的路径。您可以解析此文件,但这是另一回事。

Hi如何访问-type列。我需要加载多个列。非常感谢您的帮助HI mpe,使用您的代码,我修改了它并运行了该文件,但它没有执行catalogmanager-online$address-login$username-pwd$password-cmd report-of$outputfile-delimiter$delimiter-type Requests$request\u name$request\u列,正如我所说的,它抛出了一些错误,我对这个程序及其API几乎一无所知,我只是从你链接到的页面上了解到了这一点。关于列:您可能需要在
$request\u列
中提供这些。关于“一些错误”:请更具体一点。你好,mpe,请检查我更新了完整文件的帖子和我收到的错误。我的打字错误:
qw()
不执行变量插值。请阅读错误消息:第一部分表示您定义了两次
$request\u name
:删除两个
my
定义中的一个或将它们合并为一个。它还表示,
$request\u列
未定义,但在
@call
中使用。此外,标量变量(以
$
开头的变量)可能只包含一个字符串(而不是两个,如“列”“创建时间”)。我建议你从一些简单的事情开始,比如试着只得到一个专栏。如果这样做有效,您可以扩展您的请求。您好,是的,我发现了错误,并更改为请求列sclar变量。但我还是发现了一些错误,请查看更新后的帖子