2011-08-22 4 views
10

प्राप्त करने के लिए आरईएसटी के माध्यम से एसक्यूएल सर्वर से पूछताछ कैसे करें हम एसक्यूएल सर्वर डेटाबेस से पूछताछ करने और एक्सएमएल के रूप में परिणाम प्राप्त करने में सक्षम होने वाले ऐप्स बनाने के लिए एक वेब अनुप्रयोग ढांचा का उपयोग कर रहे हैं।एक्सएमएल

अतीत में, ढांचे ने उस क्षमता को प्रदान किया। लेकिन उस क्षमता को अब हटा दिया गया है।

तो हम सोच रहे थे, ढांचा हमें HTTP पर एक आरईएसटी सेवा आसानी से पूछने की अनुमति देता है, तो SQL सर्वर HTTP एंडपॉइंट का उपयोग क्यों न करें। हालांकि, हम तब पढ़ते हैं कि SQL सर्वर 2008 के अनुसार HTTP एंडपॉइंट्स को बहिष्कृत किया गया है। भविष्य में किसी आर्किटेक्चर को डिज़ाइन करने के लिए कोई प्लेटफॉर्म नहीं है।

एज़ूर (पूर्व में एसक्यूएल डेटा सर्विसेज) इसी तरह की सेवाएं प्रदान करने जा रहा था, लेकिन अब केवल टीडीएस प्रोटोकॉल का समर्थन करता है, न कि http। तो Azure में कोई आरईएसटी नहीं मिलेगा।

सुझाया गया विकल्प WCF डेटा सेवाओं (पूर्व में ADO.NET डेटा सेवाओं) का उपयोग करके एक कस्टम ऐप विकसित करना है। लेकिन इसका अर्थ यह होगा कि एसक्यूएल सर्वर से अलग अपने प्रमाणीकरण सेटअप के साथ, और अपने स्वयं के स्रोत कोड भंडार ... के साथ हमारे पास कोई अनुभव नहीं है, इसलिए अपने स्वयं के सुंदरता के साथ, इसका विकास, तैनाती और रखरखाव करने के लिए एक संपूर्ण अतिरिक्त ऐप होगा। गहरी सीखने की वक्र।

क्या आप आरईएसटी/HTTP के माध्यम से SQL सर्वर डेटाबेस से पूछताछ करने का कोई अन्य तरीका सुझा सकते हैं, जिसे बहिष्कृत नहीं किया गया है, और यह एक्सएमएल के रूप में परिणाम लौटाएगा?

किसी भी मदद के लिए धन्यवाद।

उत्तर

5

यहां पढ़ें: Creating an OData API for StackOverflow including XML and JSON in 30 minutes। असल में, सड़क आगे आरईएसटी के लिए एप लेयर (डब्ल्यूसीएफ पावरिंग ईएफ द्वारा प्रदान की जाने वाली है जो ओडाटा मैपिंग प्रदान करती है) के लिए है। इंजन में आईएमएचओ सीधे HTTP पहुंच शुरू करने के लिए एक बहुत बुरा विचार था, किसी को भी SQL सर्वर 2005 के HTTPEndpoints पसंद नहीं आया और वे इसे गुमराह के रूप में गुमराह थे। कोई HTTP त्रुटि मॉडल, सुरक्षा, सिस्टम को SQL में टाइप नहीं कर सकता है और एक चिकनी इंटरऑपरेबिलिटी की अपेक्षा करता है। एक समर्पित ऐप में HTTP परत लाइव होने के कारण HTTP पारिस्थितिक तंत्र को उस (डब्ल्यूसीएफ) में विशिष्ट घटक में संभालने की जिम्मेदारी को धक्का देता है, और उस नौकरी (ईएफ) में विशिष्ट डीबी मॉडल इना घटक में आरईएसटी मॉडल मैपिंग का तर्क।

+0

ठीक है, धन्यवाद, अगर हम डब्ल्यूसीएफ/एडीओ.NET मार्ग पर जाने का फैसला करते हैं, तो यह ट्यूटोरियल इसे आसान बना देगा। हालांकि, जैसा कि प्रश्न में वर्णित है, हम ऐसा करने में अनिच्छुक हैं क्योंकि इसे ट्रैक, तैनाती और प्रबंधन के लिए कलाकृतियों के संबंधित सेट के साथ, हमारी विकास प्रक्रिया में एक संपूर्ण नया टूलचेन (वीएस और इसके घटक/एक्सटेंशन) जोड़ने की आवश्यकता है। इससे भी बदतर, इस तकनीक के लिए नया होने के नाते, हम यह भी नहीं जानते कि कलाकृतियों क्या होंगे और किसके लिए ट्रैक किया जाना चाहिए। – LarsH

+0

ठीक है, आपने एक अच्छा तर्क दिया है कि HTTP अंतराल क्यों चले गए हैं। जैसा कि "कोई भी पसंद नहीं आया" के लिए, मैं असहमत हूं, लेकिन शायद पसंद करने वालों को सलाह दी गई थी। वैसे भी, ऐसा लगता है कि एक बेहतर विकल्प नहीं है। – LarsH

3

ऐसा लगता है कि आप एक एमएस स्टैक से शादी कर सकते हैं लेकिन यदि आप नहीं हैं, तो आप MySQL या PostgreSQL के शीर्ष पर जावा ईई कंटेनर (टोमकैट, वेबलोगिक, आदि) में restSQL का उपयोग कर सकते हैं। restSQL में JSON या XML एन्कोडिंग के साथ एक पूर्ण HTTP API है। यह दो मोड़ प्रदान करता है: अद्यतन करने योग्य समग्र विचार और पदानुक्रमित समग्र विचार। ढांचा अन्य डेटाबेस के लिए एक्स्टेंसिबल है और SQL सर्वर के अतिरिक्त इसके समर्थित विकास में है। http://restsql.org देखें।

+0

धन्यवाद ... अगली बार जब हम इस मुद्दे को देखेंगे तो हम निश्चित रूप से इसे ध्यान में रखेंगे। यह सच है कि हम समय के लिए एमएस एसक्यूएल सर्वर से बहुत अच्छी तरह से शादी कर रहे हैं। – LarsH

+0

मुझे इसकी आवश्यकता है, लेकिन .. एमएस एसक्यूएल सर्वर समर्थन के साथ: / –