如何从 perl 脚本登录 OBIEE 服务器凭据 [关闭]

Posted

技术标签:

【中文标题】如何从 perl 脚本登录 OBIEE 服务器凭据 [关闭]【英文标题】:How to login OBIEE Server credentials from perl script [closed] 【发布时间】:2012-12-03 07:04:29 【问题描述】:

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

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

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

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

use strict;

use warnings;
  

错误:

“-输出文件”丢失或损坏

【问题讨论】:

阅读错误信息:第一部分表示您定义了两次$request_name:删除两个my定义之一或将它们合并为一个。它还说$request_column 未定义但在@call 中使用。此外,标量变量(以$ 开头的变量)可能只包含一个字符串(不是两个,如“Column”“Created Time”)。我建议您从简单的事情开始,例如尝试只获取一列。如果可行,您可以扩展您的请求。 嗨,是的,我发现了该错误并更改为 request_Column sclar 变量。但我还是发现了错误,请检查更新后的帖子 【参考方案1】:

我不知道这是什么或它做了什么,但从您找到的 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");

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

【讨论】:

嗨我如何访问 -type 的列。我有多个需要加载的列。非常感谢您的帮助 您好,mpe,使用您的代码,我已对其进行了修改并运行了该文件,但它没有执行 catalogmanager -online $address -login $username -pwd $password -cmd report -of $outputfile - delimiter $delimiter -type Requests $request_name $request_column 它抛出一些错误 正如我所说,我对这个程序及其 API 几乎一无所知,我只是从您链接到的页面中了解到这一点。关于列:您可能需要在$request_column 中提供这些。关于“一些错误”:请更具体。 您好,mpe,请查看我已更新完整文件的帖子和收到的错误。 我的错字:qw() 不做变量插值。

以上是关于如何从 perl 脚本登录 OBIEE 服务器凭据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

LDAP 会话持久性

如何从 Perl 连接到 MySQL?

在 Perl 中使用 LWP 登录网站

如何配置和传输 MySQL(使用登录凭据)从 XAMPP 本地网络服务器到基于 Hostgator/Linux 的托管服务器?

如何使用 OBIEE 代理将 OBIEE 报告发送到 FTP 服务器?

如何从命令行测试Perl CGI脚本的文件上传?