ऐसा कुछ करने के लिए, आपको पूर्ण वेब सेवा कार्यान्वयन की आवश्यकता नहीं है। आप URL को अनुरोध सबमिट करने के लिए SQLCLR (SQL सर्वर का .NET एकीकरण) का उपयोग कर सकते हैं, XML में प्रतिक्रिया वापस प्राप्त कर सकते हैं (जब तक कि आपको JSON लाइब्रेरी नहीं मिल जाती है जो बिना काम करेगी) UNSAFE
. पर सेट किया जा रहा है ), और फिर उस प्रतिक्रिया को पार्स करें।
निम्नलिखित MSDN पृष्ठों को देखें:
- HttpWebRequest
- HttpWebResponse
- XmlDocument
- पते से बचने के लिए:
- यदि आप SQL Server 2005, 2008, या 2008 R2 का उपयोग कर रहे हैं, तो उरी.एस्केपडाटास्ट्रिंग क्योंकि यह .NET Framework v4.5 से पहले उपलब्ध था
- यदि आप SQL सर्वर 2012, 2014, या नए का उपयोग कर रहे हैं, तो आप या तो Uri.EscapeDataString का उपयोग कर सकते हैं या, यदि सर्वर को कम से कम .NET Framework v4.5 में अपडेट किया गया है, तो आप वैकल्पिक रूप से WebUtility.UrlEncode
Google जियोकोडिंग API दस्तावेज़ के अनुसार , API URI को निम्न के समान स्वरूपित किया जाना चाहिए:
https://maps.googleapis.com/maps/api/geocode/xml?address={EscapedAddress}&key={API_KEY}
बस सबमिट करें कि उन 2 चरों के साथ HttpWebRequest
. के माध्यम से उनके उचित मूल्यों के साथ प्रतिस्थापित किया गया है , फिर कॉल करें HttpWebRequest.GetResponse
, फिर HttpWebResponse.GetResponseStream
. पर कॉल करें . और नहीं करें Close
. को कॉल करना न भूलें और Dispose
HttpWebResponse
. के तरीके (या इसे using
. में तत्काल करें ब्लॉक)!!
अतिरिक्त नोट:
- यदि पहले से नहीं किया गया है, तो आपको सर्वर स्तर पर (एक बार) "सीएलआर एकीकरण" सक्षम करना होगा:CLR इंटीग्रेशन को सक्षम करना
- आसान रास्ता न अपनाएं और डेटाबेस को
TRUSTWORTHY ON
पर सेट करें . बस पासवर्ड के साथ असेंबली पर हस्ताक्षर करें, फिरmaster
. में एक असममित कुंजी बनाएं अपने हस्ताक्षरित DLL को इंगित करके डेटाबेस, फिर उस असममित कुंजी से एक लॉगिन बनाएं, और अंत में उस लॉगिन कोUNSAFE ASSEMBLY
प्रदान करें अनुमति। फिर आप असेंबलीWITH PERMISSION_SET = EXTERNAL_ACCESS
के साथ सेट कर सकते हैं । - SP_OA* प्रक्रियाओं का प्रयोग उपयोगकर्ता द्वारा समर्थित के रूप में न करें3469363 . उन ओएलई ऑटोमेशन प्रक्रियाओं को SQL सर्वर 2005 के बाद से हटा दिया गया है और (उम्मीद है) किसी दिन (उम्मीद है कि जल्द ही) हटा दिया जाएगा। वे SQLCLR की तुलना में कम कुशल और कम सुरक्षित भी हैं।
- DBA.StackExchange पर इसी तरह के प्रश्न के मेरे उत्तर में और भी नोट्स मिल सकते हैं: वेब सेवा डेटा को SQL सर्वर में लाना