shi*_*mbu 6 oracle birt report
我有一些Oracle报告(.rdf),我正在考虑转换为BIRT报告.有没有办法将.rdf文件转换为BIRT报告设计文件?
全自动解决方案可能是不可能的。您可以按如下所示部分自动化转换过程:
第一步很简单,使用Cygwin:
cd /path/to/reports/
mkdir xml
for i in *.rdf; do
rwconverter.exe batch=yes source="$i" dest=xml/"$i".xml dtype=xmlfile \
userid=scott/tiger@xe
done
Run Code Online (Sandbox Code Playgroud)
第二个步骤是也比较容易,使用新星(重命名xml.exe以starlet.exe与Oracle的避免冲突xml.exe):
starlet.exe sel -t -v "/report/data/dataSource/select" filename.rdf.xml
Run Code Online (Sandbox Code Playgroud)
您也可以使用xmllint,但是它包含select和CDATA元素,您必须分别对其进行解析:
xmllint --xpath /report/data/dataSource/select filename.rdf.xml
Run Code Online (Sandbox Code Playgroud)
第三步具有挑战性。创建一个读取RDF布局的XSL模板(例如<displayInfo x="0.74377" y="0.97913" width="1.29626" height="1.62695" />)。然后将这些布局转换为目标报表引擎使用的相应格式(例如BIRT或JasperReports)。
您不会获得100%的解决方案,但是80%的解决方案可以显着减少转换报表所需的单调且容易出错的工作量。
我还没有找到任何工具可以做到这一点。有些人可能将此称为商机。
RDF据我所知,文件采用某种时髦的二进制格式。为了尝试一下,我可能会先将其转换为一个REX文件,该文件应该是可移植的xml。然后就是从REX结构到BIRT结构的转变问题。老实说,我不知道 REX 文件是如何记录的,但也许因为您知道它从视觉方面看起来如何,所以您可以理解它。
祝你好运!