sql >> Base de Datos >  >> RDS >> Oracle

Conversión de informes de Oracle (.rdf) en informes BIRT

Una solución totalmente automatizada probablemente no sea posible. Puede automatizar parcialmente el proceso de conversión de la siguiente manera:

  1. Convierta los archivos RDF a XML.
  2. Extraiga la consulta del informe.
  3. Convierta el XML a BIRT (o JRXML) usando XSLT.

Conversión XML

El primer paso es bastante simple, usando 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/[email protected]
done

Extracción

El segundo paso también es relativamente fácil, usando starlet (renombrar xml.exe a starlet.exe para evitar conflictos con xml.exe de Oracle ):

starlet.exe sel -t -v "/report/data/dataSource/select" filename.rdf.xml

También puede usar xmllint, pero incluye el select y CDATA elementos, que tendrías que analizar por separado:

xmllint --xpath /report/data/dataSource/select filename.rdf.xml

Conversión de formato

El tercer paso es desafiante. Cree una plantilla XSL que lea los diseños RDF (por ejemplo, <displayInfo x="0.74377" y="0.97913" width="1.29626" height="1.62695" /> ). Luego, convierta esos diseños al formato correspondiente utilizado por el motor de informes de destino (como BIRT o JasperReports).

No obtendría una solución al 100 %, pero una solución al 80 % podría reducir significativamente la cantidad de trabajo monótono y propenso a errores necesario para convertir los informes.