2010-06-21 9 views
10

MSDN website यह कहते हैं, "यहां OLE DB का उपयोग करके SQL Azure से कनेक्ट हो रहा समर्थित नहीं है।"माइक्रोसॉफ्ट एसक्यूएल एज़ूर के लिए ओएलई डीबी कनेक्शन का समर्थन क्यों नहीं करता है?

जहां लोगों का कहना है कि उस में सर्वर नाम में सुधार करने के बाद उनके लिए ठीक काम करता है वेब पर अन्य स्थानों रहे हैं कनेक्शन स्ट्रिंग, जैसे here और here। यहां तक ​​कि SQL सर्वर का Analysis Services uses OLE DB to connect to SQL Azure!

मैं डेल्फी में एक देशी/अप्रबंधित अनुप्रयोग विकसित करता हूं जो SQL सर्वर के लिए ओएलई डीबी प्रदाता के माध्यम से एडीओ का उपयोग कर SQL सर्वर से कनेक्ट होता है। मैं एसक्यूएल एज़ूर समर्थन जोड़ने पर विचार कर रहा हूं। अगर मैं बहुत अधिक परिवर्तन किए बिना अपने अधिकांश कोड का पुन: उपयोग कर सकता हूं तो यह वास्तव में सहायक होगा। मैं शायद इस दिशा को अन्यथा जाने पर विचार नहीं करूंगा।

माइक्रोसॉफ्ट अधिक स्पष्ट था कि क्यों "ओएलई डीबी समर्थित नहीं है"। यदि ओएलई डीबी के उपयोग के भीतर कुछ सीमाएं हैं, तो वे क्या हैं? शायद मैं उनके चारों ओर काम कर सकता हूं, या शायद यह मुझे प्रभावित नहीं करेगा।

माइक्रोसॉफ्ट का भी उल्लेख है कि ओडीबीसी समर्थित है। तो क्या मैं "ओडीई डीबी प्रदाता को ओडीबीसी" का उपयोग कर सकता हूं और इस तरह से जुड़ सकता हूं? या कोई संयोजन है जिसमें ओएलई डीबी "समर्थित नहीं है" शामिल है?

+0

मैंने अभी "विंडोज एज़ूर प्लेटफ़ॉर्म" पुस्तक में देखा है कि एक ओएलई डीबी कनेक्शन स्ट्रिंग SQL Azure पोर्टल पर प्रदान की जाती थी। यह पुस्तक छह महीने पहले प्रकाशित हुई थी। – Troy

उत्तर

7

आप इसका उपयोग कर सकते हैं, हालांकि सभी मामलों के लिए इसका पूरी तरह से परीक्षण नहीं किया गया है। अनिवार्य रूप से, इसे ज्यादातर चीजों के लिए काम करना चाहिए, लेकिन कुछ किनारे के मामले हो सकते हैं जहां यह काम नहीं करेगा। जब तक हम उन मामलों को दस्तावेज नहीं करते हैं, तब तक यह असमर्थित रहता है। ऐसा कहा जा रहा है कि, यदि आप त्रुटियों में उपयोग और चलाने के लिए थे, तो हम इसके बारे में जानना पसंद करेंगे और इसे ठीक करने के लिए प्राथमिकता देंगे।

+0

धन्यवाद, डॉनरी। यह सहायता करता है। मै उसे करने की एक कोशिश तो करूंगा। ओएलई डीबी का मेरा उपयोग काफी सीमित होगा (कर्सर को फ़ायरहोज़ और अपडेट कमांड)। यदि मैं विसंगतियों में भाग लेता हूं, तो माइक्रोसॉफ्ट में सही उत्पाद टीम को जाने का सबसे प्रभावी तरीका क्या है? – Troy

+0

मैं सीधे ब्लॉग के माध्यम से एसक्यूएल एज़ूर टीम से संपर्क करूंगा - http://blogs.msdn.com/sqlazure। वैकल्पिक रूप से, आप हमेशा मेरे ईमेल को ईमेल कर सकते हैं (dunnry.com के माध्यम से) और मैं रीडायरेक्ट कर दूंगा। – dunnry

4

आप हालांकि इस जानकारी को खोजने के लिए मुश्किल है एडीओ एसक्यूएल मूल क्लाइंट का उपयोग कर उपयोग कर सकते हैं आप इसके बारे में पढ़ सकते हैं यहाँ http://msdn.microsoft.com/en-us/library/ms130978(SQL.110).aspx और यहाँ http://msdn.microsoft.com/en-us/library/ms131035(SQL.110).aspx

प्रदाता = SQLOLEDB का उपयोग करने के बजाय कनेक्शन स्ट्रिंग में; हम प्रदाता = SQLNCLI10 का उपयोग कर सकते हैं; डेटाटाइप कॉम्पैबिलिटी = 80; का उपयोग करने की भी अनुशंसा की जाती है। तो किसी SQL मूल क्लाइंट समर्थित कनेक्शन स्ट्रिंग इस प्रकार दिखाई देगा:

"प्रदाता = SQLNCLI10; सर्वर = टीसीपी: MyServerName.database.windows.net; डाटाबेस = AdventureWorks2008R2; uid = MyUserName @ MyServerName; पीडब्ल्यूडी = MyPa $$ w0rd ; एन्क्रिप्ट = हाँ, DataTypeCompatibility = 80; "

आप "मार्स कनेक्शन = ट्रू" भी जोड़ सकते हैं; एकाधिक रिकॉर्डसेट के लिए कनेक्शन स्ट्रिंग के लिए।

+2

धन्यवाद; यह सहायक था। ध्यान दें कि यदि आप अर्धविराम जैसे आरक्षित वर्ण होते हैं तो आप पासवर्ड फ़ील्ड के चारों ओर सिंगल कोट्स फेंक सकते हैं। http://stackoverflow.com/questions/3177861/escape-quote-in-web-config-connection-string देखें –

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