【问题标题】:Extracting SQL Queries of all Oracle BI Publisher Reports提取所有 Oracle BI Publisher 报告的 SQL 查询
【发布时间】:2023-02-01 14:14:14
【问题描述】:
我有一个 OBIEE 报告目录,其中包括许多 BI Publisher 报告。我想要我的目录中所有 BIP 报告的数据模型中使用的 SQL 查询(以及最终的物理表列表)。我不想通过手动进入每个数据模型来做到这一点,因为有数百个 BIP 报告。有没有办法做到这一点?
与此相关,我们正在研究通过 python 脚本分析报告的所有 XML 文件。
有没有一种方法可以在使用或不使用 Python 脚本的情况下从 XML 文件中提取 SQL 查询?
任何见解将不胜感激
【问题讨论】:
标签:
python
xml
obiee
bi-publisher
【解决方案1】:
BI Publisher 基表都以 XDO 开头。您可以查询ALL_OBJECTS 表以列出所有XDO 表。
检查XDO_DS_DEFINITIONS_B表的数据定义。
【解决方案2】:
我正在使用 shell 脚本和 Python 脚本编写 11g 版本,可能对您有用
由于 11g 将数据存储在文件系统中,因此数据模型元数据将出现在此文件的 Datamodel 文件夹中 _datamodel%2exdm
第 1 步:使用 shell 脚本查找所有文件并在日志文件中获取每个文件路径
查找 /xxxx/Middleware_xx/instances/instance1_xxx/bifoundation/OracleBIPresentationServicesComponent/coreapplication_obips1/catalog/xxCatalog -name _datamodel%2exdm | sed "s#^.#/#" > /data1/OBIEE/excelExport/Python_export/dataModel.log
第 2 步:执行此 Python 脚本来处理 xml 文件:
将 xml.etree.ElementTree 导入为 et