2016-08-11 7 views
8

से नई है, मैंने सभी नवीनतम अपडेट के साथ विजुअल स्टूडियो 2015 में कुछ रिपोर्ट बनाई हैं। हालांकि, जब मैं रिपोर्ट्स को तैनात करने का प्रयास करता हूं तो मुझे यह संदेश मिलता है:एसएसआरएस रिपोर्ट परिभाषा सर्वर

इस रिपोर्ट की परिभाषा रिपोर्टिंग सेवाओं के इस संस्करण द्वारा मान्य या समर्थित नहीं है।
11:40:28 त्रुटि
रिपोर्ट परिभाषा रिपोर्टिंग सेवा के बाद के संस्करण के साथ बनाया जा सकता है, या सामग्री होती है कि नहीं है
11:40:28 त्रुटि
अच्छी तरह से गठित या रिपोर्टिंग के आधार पर मान्य नहीं सेवा स्कीमा। विवरण: रिपोर्ट परिभाषा का एक अवैध लक्ष्य
11:40:28 त्रुटि
नामस्थान 'http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition' जिसे अपग्रेड नहीं किया जा सकता है।

.rdl फ़ाइल की पहली लाइनों इस तरह स्थापित कर रहे हैं:

<?xml version="1.0" encoding="utf-8"?> 
<Report MustUnderstand="df" 
xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" 
xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" 
xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily"> 

मैं स्कीमा परिभाषा बदल सकते हैं? यदि हां, तो क्या? मैंने 2016 से 2014 या 2012 को बदलने की कोशिश की, लेकिन न तो काम किया।

क्या कोई ऐसी जगह है जहां मैं वैध परिभाषाओं को देखने के लिए जा सकता हूं?

+0

क्या आपके पास विजुअल स्टूडियो के पुराने संस्करणों तक पहुंच है? उनमें से एक में एक रिपोर्ट बनाने का प्रयास करें और देखें कि स्कीमा क्या हैं। –

+0

आप तैनाती सर्वर का कौन सा संस्करण चल रहे हैं? – cp50

+0

एसक्यूएल रिपोर्ट सर्वर 2012 है। मेरे पास केवल वीएस 2015 स्थापित है। –

उत्तर

23

मैं वास्तव में इसी तरह की समस्या में भाग गया जहां 2016 में एक "अनियंत्रित त्रुटि/अवैध आरडीएल संरचना" त्रुटि के परिणामस्वरूप मुझे एक बदलाव आया, इसलिए मैंने आरडीएल फ़ाइल संपादित की ताकि मैं इसे पहले के संस्करण में खोल सकूं और कर सकूं मेरे परिवर्तन बहुत कठिन नहीं है, लेकिन आपको कुछ टैग संपादन करने की आवश्यकता है।

नई रिपोर्ट के लिए आप शायद सिर्फ एक पुराने संस्करण का उपयोग करना चाहिए, लेकिन मौजूदा रिपोर्ट के लिए आप यह कर सकते हैं: (मैं 2008 में वापस लाई)

  • बदलें रिपोर्ट टैग:
  • संपूर्ण "रिपोर्ट पैरामीटर लेआउट" ब्लॉक हटाएं।
  • "डीएफ" टैग और इसकी सामग्री हटाएं।
  • "रिपोर्ट्सक्शन" और "रिपोर्टसेक्शन" खोलने और टैग बंद करने (सामग्री नहीं) हटाएं।

वास्तव में ब्लॉग पोस्ट के हिस्से के रूप में ऐसा करने के लिए कुछ सुपरहाकिश कोड लिखा, लेकिन मैन्युअल संपादन काफी सरल है।

+0

यह एक आकर्षण की तरह काम किया। @trubs मुझे नीचे दिए गए उत्तर के रूप में "TargetServerVersion" मेरी रिपोर्ट पर नहीं मिला, इसलिए इस जवाब ने मेरी समस्या को हल किया बल्कि दूसरे जवाब को हल किया। – MarceloBarbosa

+0

हाय @ मार्सेलो बरबोसा, यह मेरे लिए भी काम करता था, लेकिन, जब भी मैंने रिपोर्ट बदल दी तो मुझे सभी कदम दोहराना पड़ा। मैंने यह दिखाने के लिए एक स्क्रीनशॉट के साथ एक जवाब जोड़ा है कि विशिष्ट सेटिंग्स कहां हैं (अमिला प्रदीप के उत्तर का समर्थन करने के लिए) – Trubs

+0

इस बड़े विचार के लिए धन्यवाद। मेरी रिपोर्ट के लिए ठीक काम करता है :) –

3

मैं एक ही समस्या में भाग गया और यह मैं कैसे इसे हल

  1. सेट रिपोर्ट परियोजना संपत्तियों पर "TargetServerVersion" संपत्ति सर्वर रिपोर्टिंग के अपने पुराने संस्करण होना है।
  2. प्रोजेक्ट बनाएं।
  3. बिन फ़ोल्डर में रिपोर्ट प्राप्त करें और पुराने रिपोर्टिंग सर्वर पर तैनात करें।

आपकी स्रोत रिपोर्ट प्रारूप और नामस्थान नवीनतम संस्करण में अपडेट किया जाएगा। लेकिन बिन फ़ोल्डर रिपोर्ट लक्षित रिपोर्टिंग सर्वर संस्करण के साथ संगत होने के लिए बनाई जाएगी।

+1

यह निश्चित रूप से जाने का रास्ता है! – VorTechS

9

नीचे दी गई सेटिंग्स सही लक्ष्य सर्वर संस्करण पर सेट की जानी चाहिए, और आरडीएल को बिन निर्देशिका से लिया जाना चाहिए। (या दायाँ क्लिक पर तैनाती का उपयोग करें)।

स्वीकार्य उत्तर एसएसआरएस के कई संस्करणों में काम करने की त्रुटि/संभावना के लिए काफी कठिन/असंभव है, और प्रत्येक बार जब आप rdl बदलते हैं तो इसे लागू करने की आवश्यकता होती है।

enter image description here

+0

आह ... धन्यवाद! – MarceloBarbosa

+1

विडंबना यह है कि आपकी छवि प्रदर्शित नहीं की जा सकती है। – Brad

3

मैं हाल ही में इस मुद्दे का सामना किया। मैंने पाया कि मुझे केवल .rdl फ़ाइल में दो आइटम बदलने की आवश्यकता है।

  1. से बदलें:

    रिपोर्ट xmlns = "http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns: rd = "http://schemas.microsoft .com/SQLServer/रिपोर्टिंग/reportdesigner "

    के लिए:

    रिपोर्ट xmlns: rd =" http://schemas.microsoft.com/SQLServer/reporting/reportdesigner "xmlns: सीएल =" http: // schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition "xmlns =" ​​http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportde finition "

अन्य प्रतिक्रियाओं के विपरीत, मैं 2010 की जरूरत 2008 के बजाय मुझे लगता है कि आप पहले से ही तैनात किया है एक .rdl फ़ाइल की जाँच करेगा।

  1. "ReportParametersLayout" ब्लॉक को हटाएं।

नोट: अगर मैंने रिपोर्टसेक्शन ब्लॉक को हटा दिया है, तो यह काम नहीं करता है क्योंकि अन्य ने नोट किया है।

संबंधित मुद्दे