Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Konwertowanie raportów Oracle (.rdf) na raporty BIRT

W pełni zautomatyzowane rozwiązanie prawdopodobnie nie jest możliwe. Możesz częściowo zautomatyzować proces konwersji w następujący sposób:

  1. Konwertuj pliki RDF na XML.
  2. Wyodrębnij zapytanie raportu.
  3. Konwertuj XML na BIRT (lub JRXML) za pomocą XSLT.

Konwersja XML

Pierwszy krok jest dość prosty, używając 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

Ekstrakcja

Drugi krok jest również stosunkowo łatwy, używając starlet (zmień nazwę xml.exe do starlet.exe aby uniknąć konfliktów z xml.exe Oracle ):

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

Możesz także użyć xmllint, ale zawiera on select i CDATA elementy, które musiałbyś przeanalizować osobno:

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

Konwersja formatu

Trzeci krok jest trudny. Utwórz szablon XSL, który odczytuje układy RDF (np. <displayInfo x="0.74377" y="0.97913" width="1.29626" height="1.62695" /> ). Następnie przekonwertuj te układy na odpowiedni format używany przez docelowy aparat raportowania (taki jak BIRT lub JasperReports).

Nie dostaniesz 100% rozwiązania, ale 80% rozwiązanie może znacznie zmniejszyć ilość monotonnej, podatnej na błędy pracy wymaganej do konwersji raportów.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać prawe 10 miejsc sznurka w wyroczni?

  2. Amazon Python 2.7 Lambda:DPI-1047:nie można załadować 64-bitowej biblioteki Oracle Client:libclntsh.so

  3. porównywanie daty z predefiniowanym formatem pl sql

  4. Oracle GROUP_CONCAT() Odpowiednik

  5. Klonuj ORACLE_HOME