Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Chuyển đổi Báo cáo Oracle (.rdf) sang báo cáo BIRT

Một giải pháp hoàn toàn tự động có lẽ là không thể. Bạn có thể tự động hóa một phần quá trình chuyển đổi như sau:

  1. Chuyển đổi tệp RDF sang XML.
  2. Trích xuất truy vấn báo cáo.
  3. Chuyển đổi XML thành BIRT (hoặc JRXML) bằng XSLT.

Chuyển đổi XML

Bước đầu tiên khá đơn giản, sử dụng 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

Trích xuất

Bước thứ hai cũng tương đối dễ dàng, sử dụng starlet (đổi tên xml.exe sang starlet.exe để tránh xung đột với xml.exe của Oracle ):

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

Bạn cũng có thể sử dụng xmllint, nhưng nó bao gồm selectCDATA các phần tử mà bạn phải phân tích cú pháp riêng:

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

Chuyển đổi định dạng

Bước thứ ba là thử thách. Tạo mẫu XSL đọc bố cục RDF (ví dụ:<displayInfo x="0.74377" y="0.97913" width="1.29626" height="1.62695" /> ). Sau đó, chuyển đổi các bố cục đó sang định dạng tương ứng được sử dụng bởi công cụ báo cáo đích (chẳng hạn như BIRT hoặc JasperReports).

Bạn sẽ không nhận được giải pháp 100%, nhưng giải pháp 80% có thể giảm đáng kể số lượng công việc đơn điệu, dễ xảy ra lỗi cần thiết để chuyển đổi báo cáo.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố khi chuyển dự án .NET từ không được quản lý sang tổ hợp ODP.NET được quản lý

  2. Cách cấp quyền truy cập vào v $ views (v $ session, v $ instance)

  3. SPOOL trả về các tệp trống khi cố gắng xuất từ ​​Nhà phát triển SQL

  4. Làm cách nào để chèn ngày BC vào Oracle?

  5. Cách kết nối cơ sở dữ liệu Oracle từ PHP