Oracle
 sql >> база данни >  >> RDS >> Oracle

Конвертиране на Oracle Reports (.rdf) в BIRT отчети

Напълно автоматизирано решение вероятно не е възможно. Можете частично да автоматизирате процеса на конвертиране, както следва:

  1. Конвертирайте RDF файловете в XML.
  2. Извличане на заявката за отчет.
  3. Конвертирайте XML в BIRT (или JRXML) с помощта на XSLT.

XML преобразуване

Първата стъпка е доста проста, използвайки 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

Извличане

Втората стъпка също е относително лесна, използвайки starlet (преименувайте xml.exe към starlet.exe за да избегнете конфликти с xml.exe на Oracle ):

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

Можете също да използвате xmllint, но той включва select и CDATA елементи, които ще трябва да анализирате отделно:

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

Преобразуване на формат

Третата стъпка е предизвикателна. Създайте XSL шаблон, който чете RDF оформленията (напр. <displayInfo x="0.74377" y="0.97913" width="1.29626" height="1.62695" /> ). След това преобразувайте тези оформления в съответния формат, използван от машината за целеви отчети (като BIRT или JasperReports).

Няма да получите 100% решение, но 80% решение би могло значително да намали количеството монотонна, податлива на грешки работа, необходима за преобразуване на отчетите.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да отстранявате грешки в съхранена процедура в Toad?

  2. Напишете заявка, за да намерите името на студента(ите), който е получил максимална оценка по Софтуерно инженерство. Сортирайте резултата въз основа на име

  3. ORA-00913 твърде много стойности

  4. Базата данни на Oracle позволява невалидна част от времето на стойностите на колоната за дата и час при какви обстоятелства?

  5. Как да направите SQL инжекция на Oracle