क्या रिपोर्ट के लिए डेटास्रोत स्थान बदलने और उसके सभी सबरपोर्ट्स को मैन्युअल रूप से खोलने के बिना कोई भी तरीका है?रिपोर्ट के लिए डेटाबेस कनेक्शन बदलें और सभी सब्रेपोर्ट्स
उत्तर
मुझे लगता है कि आप रिपोर्टिंग सेवाओं से .rdl फ़ाइलों के बारे में बात कर रहे हैं? (यदि नहीं, तो मेरा उत्तर गलत हो सकता है)
वे मूल रूप से केवल एक्सएमएल हैं, इसलिए आप उनमें से प्रत्येक को लोड कर सकते हैं और डेटा स्रोत को शामिल करने वाले नोड को प्राप्त करने के लिए XPath क्वेरी कर सकते हैं।
लिंक की गई उप-रिपोर्ट (कम से कम सीआर इलेवन में) मुख्य रिपोर्ट के डेटासोर्स को साझा करती है - संभवतः आपकी रिपोर्ट पहले ही कॉन्फ़िगर की गई है, इसलिए यह आपके लिए कोई विकल्प नहीं है?
@Unsliced मुझे लगता है कि जब वह किसी अन्य डेटाबेस के खिलाफ विकसित क्रिस्टल रिपोर्ट लेता है, तो आप उस समस्या को समझते हैं, और आप इसे क्रिस्टल रिपोर्ट्स इलेवन में लाते हैं, आपको प्रत्येक फ़ील्ड के लिए चेंज डेटासोर्स करना होगा subreports में। यदि आप रिपोर्ट के शीर्ष स्तर पर स्रोत बदलते हैं, तो अक्सर यह त्रुटियां होती हैं। (मुझे लगता है कि क्रिस्टल रिपोर्ट्स में एक ज्ञात मुद्दा है)।
यहां मैं रनटाइम पर अपने कनेक्शन कैसे सेट करता हूं। मुझे एक कॉन्फ़िगरेशन स्थान से कनेक्शन जानकारी मिलती है।
#'SET REPORT CONNECTION INFO
For i = 0 To rsource.ReportDocument.DataSourceConnections.Count - 1
rsource.ReportDocument.DataSourceConnections(i).SetConnection(crystalServer, crystalDB, crystalUser, crystalPassword)
Next
For i = 0 To rsource.ReportDocument.Subreports.Count - 1
For x = 0 To rsource.ReportDocument.Subreports(i).DataSourceConnections.Count - 1
rsource.ReportDocument.OpenSubreport(rsource.ReportDocument.Subreports(i).Name).DataSourceConnections(x).SetConnection(crystalServer, crystalDB, crystalUser, crystalPassword)
Next
Next
यदि आप इसे एक शॉट शॉट के रूप में कर रहे हैं, तो मेरा सुझाव मदद नहीं कर सकता है। लेकिन, यदि आप अक्सर डेटा स्रोतों को बदलते हैं, तो यह उपयोगी हो सकता है।
अस्वीकरण: मैंने संस्करण 9.0 के बाद से क्रिस्टल के साथ काम नहीं किया है, इसलिए मुझे नहीं पता कि उन्होंने इस पर सुधार किया है या नहीं। मैंने हमेशा UDL files का उपयोग किया। असल में, यह डेटा स्रोत के लिए एक सूचक है। यूडीएल को इंगित करने के लिए अपनी रिपोर्ट सेट करें, और यूडीएल डेटा स्रोत को इंगित करें। अगर स्रोत बदलता है, तो बस यूडीएल अपडेट करें।
यदि आपके पास एकाधिक रिपोर्ट हैं तो यह अविश्वसनीय रूप से उपयोगी है। जब सर्वर बदलता है तो आपको केवल एक फ़ाइल को अपडेट करना होगा।
मुझे रनटाइम पर कनेक्शन सेट करने के लिए यह सबसे उपयोगी पाया गया। –