sql >> Databasteknik >  >> RDS >> Oracle

Konvertera Oracle Reports (.rdf) till BIRT-rapporter

En helautomatiserad lösning är troligen inte möjlig. Du kan delvis automatisera konverteringsprocessen enligt följande:

  1. Konvertera RDF-filerna till XML.
  2. Extrahera rapportfrågan.
  3. Konvertera XML till BIRT (eller JRXML) med XSLT.

XML-konvertering

Det första steget är ganska enkelt, med 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

Extraktion

Det andra steget är också relativt enkelt, med starlet (byt namn på xml.exe till starlet.exe för att undvika konflikter med Oracles xml.exe ):

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

Du kan också använda xmllint, men det inkluderar select och CDATA element, som du måste analysera separat:

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

Formatkonvertering

Det tredje steget är utmanande. Skapa en XSL-mall som läser RDF-layouterna (t.ex. <displayInfo x="0.74377" y="0.97913" width="1.29626" height="1.62695" /> ). Konvertera sedan dessa layouter till motsvarande format som används av målrapportmotorn (som BIRT eller JasperReports).

Du skulle inte få en 100 % lösning, men en 80 % lösning kan avsevärt minska mängden monotont, felbenäget arbete som krävs för att konvertera rapporterna.



  1. WordPress Editor uppdaterar inte filer:Det går inte att kommunicera tillbaka med webbplatsen för att leta efter allvarliga fel

  2. Behöver hjälp med att räkna de mest olika böckerna

  3. hur man visar motsvarande post från åtkomst baserat på annan kolumn i Datagrid i vb6

  4. Hur man får de senaste 15 dagarna i MySQL