Saya telah mempelajari SSRS 2005/2008 dalam beberapa minggu terakhir dan telah membuat beberapa laporan sisi server. Untuk beberapa aplikasi, seorang kolega menyarankan agar saya melihat RDLC untuk situasi tertentu itu. Sekarang saya mencoba memahami perbedaan utama antara RDL dan RDLC.
Mencari informasi ini paling baik menghasilkan informasi yang terfragmentasi. Saya telah belajar bahwa:
- Laporan RDLC tidak menyimpan informasi tentang cara mendapatkan data.
- Laporan RDLC dapat dijalankan langsung oleh kontrol ReportViewer.
Tetapi saya masih belum sepenuhnya memahami hubungan antara file RDLC dan sistem terkait lainnya (Server Pelaporan, database sumber, klien).
Untuk mendapatkan pemahaman yang baik tentang file RDLC, saya ingin tahu bagaimana penggunaannya berbeda dari file RDL dan dalam situasi apa seseorang akan memilih RDLC daripada RDL. Tautan ke sumber daya juga diterima.
Memperbarui:
Sebuah utas di forum ASP.NET membahas masalah yang sama ini. Dari situ, saya mendapatkan pemahaman yang lebih baik tentang masalah ini.
Fitur RDLC adalah dapat dijalankan sepenuhnya di sisi klien dalam kontrol ReportViewer.
- Ini menghilangkan kebutuhan akan instance Reporting Services, dan bahkan menghilangkan kebutuhan untuk koneksi database apa pun, tetapi:
- Ini menambahkan persyaratan bahwa data yang diperlukan dalam laporan harus disediakan secara manual.
Apakah ini keuntungan atau kerugian tergantung pada aplikasi tertentu.
Dalam aplikasi saya, sebuah contoh Layanan Pelaporan tetap tersedia dan data yang diperlukan untuk laporan dapat dengan mudah ditarik dari database. Apakah ada alasan tersisa bagi saya untuk mempertimbangkan RDLC, atau haruskah saya tetap menggunakan RDL?
sumber
List<T>
dariMyEntity
) sebagai sumber Laporan Jarak Jauh ( RDL ), bukan RDLC ?Saya selalu berpikir perbedaan antara RDL dan RDLC adalah bahwa RDL digunakan untuk SQL Server Reporting Services dan RDLC digunakan di Visual Studio untuk pelaporan sisi klien. Pelaksanaan dan editornya hampir identik. RDL adalah singkatan dari
Report Defintion Language
dan RDLCReport Definition Language Client-side
.Saya harap itu membantu.
sumber
Dari pengalaman saya, jika Anda membutuhkan kinerja tinggi (ini sedikit bergantung pada spesifikasi klien Anda) pada laporan besar, gunakan rdlc. Selain itu, laporan rdlc memberi Anda kendali penuh atas data Anda, Anda mungkin dapat menghemat perjalanan database yang sia-sia, dll. Dengan menggunakan laporan sisi klien. Pada proyek yang sedang saya kerjakan, laporan kritis membutuhkan sekitar 2 menit untuk dirender di sisi server, dan cukup banyak mengambil server pelaporan mana pun yang terkena saat itu. Mengalihkannya ke rendering sisi klien, kami melihat performa lebih mendekati 20-40 detik tanpa beban di server laporan dan lebih sedikit bandwidth yang digunakan karena hanya kumpulan data yang diunduh.
Jarak tempuh Anda mungkin berbeda, dan menurut saya rdlc menambah kompleksitas pengembangan dan pemeliharaan, terutama bila laporan Anda telah dirancang sebagai laporan sisi server.
sumber
Beberapa poin ini telah dibahas di atas, tapi inilah 2-sen saya untuk lingkungan VS2008.
RDL (Laporan jarak jauh): Pengalaman pengembangan yang jauh lebih baik, lebih banyak fleksibilitas jika Anda perlu menggunakan beberapa fitur lanjutan seperti penjadwalan, pelaporan ad-hoc, dll ...
RDLC (Laporan lokal): Kontrol yang lebih baik atas data sebelum mengirimnya ke laporan (lebih mudah untuk memvalidasi atau memanipulasi data sebelum mengirimnya ke laporan). Penerapan jauh lebih mudah, tidak perlu contoh Layanan Pelaporan.
Satu peringatan BESAR dengan laporan lokal adalah kebocoran memori yang diketahui yang dapat sangat mempengaruhi kinerja jika klien Anda akan menjalankan banyak laporan besar. Ini seharusnya diatasi dengan versi VS2010 dari penampil laporan.
Dalam kasus saya, karena kami memiliki contoh Layanan Pelaporan yang tersedia, saya mengembangkan laporan baru sebagai RDL dan kemudian mengonversinya menjadi laporan lokal (yang mudah) dan menerapkannya sebagai laporan lokal.
sumber
Jika Anda memiliki infrastruktur layanan pelaporan yang tersedia untuk Anda, gunakanlah. Anda akan menemukan pengembangan RDL menjadi sedikit lebih menyenangkan. Anda dapat melihat pratinjau laporan, mengatur parameter dengan mudah, dll.
sumber
Sementara saya saat ini condong ke RDL karena tampaknya lebih fleksibel dan lebih mudah dikelola, RDLC memiliki keunggulan karena tampaknya menyederhanakan lisensi Anda. Karena RDLC tidak memerlukan instans Layanan Pelaporan, Anda tidak memerlukan Lisensi Layanan Pelaporan untuk menggunakannya.
Saya tidak yakin apakah ini masih berlaku dengan versi SQL Server yang lebih baru, tetapi pada satu waktu jika Anda memilih untuk meletakkan contoh SQL Server Database dan Reporting Services di dua mesin terpisah, Anda diminta untuk memiliki dua lisensi SQL Server yang terpisah:
http://social.msdn.microsoft.com/forums/en-US/sqlgetstarted/thread/82dd5acd-9427-4f64-aea6-511f09aac406/
Anda dapat menggunakan Bing untuk blog dan posting serupa lainnya tentang lisensi Layanan Pelaporan.
sumber
Untuk VS2008, saya yakin RDL memberi Anda fitur pengeditan yang lebih baik daripada RDLC. Misalnya, saya dapat mengubah Bold pada jumlah teks yang dipilih di textbox dengan RDL, sedangkan di RDLC tidak mungkin.
RDL: abcd efgh ijklmnop
RDLC: abcd efgh ijklmnop -atau- abcd efgh ijklmnop (adalah satu-satunya pilihan Anda)
Ini karena RDLC menggunakan namespace / pemformatan sebelumnya dari 2005, sedangkan RDL menggunakan 2008. Namun ini akan berubah dengan VS2010
sumber
Jika kami memiliki lebih sedikit jumlah laporan yang tidak terlalu rumit dan dikonsumsi oleh halaman web asp.net. Lebih baik menggunakan rdlc, alasannya adalah kita dapat menghindari pemeliharaan laporan pada instance RS. tetapi kita harus mengambil data dari DB secara manual dan mengikatnya ke rdlc.
Kekurangan: mendesain rdlc di studio visual agak sulit dibandingkan dengan desainer SSrs.
Pro: Perawatannya mudah. saat mengekspor laporan dari halaman we, mengamati bahwa peningkatan kinerja dibandingkan dengan laporan sisi server.
sumber
Jika Anda ingin menggunakan report di asp.net maka gunakan .rdl jika Anda ingin menggunakan / view di report builder / report server maka gunakan .rdlc hanya dengan mengonversi format secara manual sudah berfungsi
sumber