2011-03-18 8 views
6

सी # नेट 3.5, मैं अपने app.config फ़ाइल लग रहा है कि इसकीवर्ड समर्थित नहीं 'प्रदाता' त्रुटि किसी SQL Server 2000 बैकएंड साथ

<add name="MFG_ConnectionString" 
    connectionString="Provider=SQLOLEDB;Data Source=MFG;Persist Security Info=True;Password=kb1234;User ID=kb;Initial Catalog=MFG" 
    providerName="System.Data.OleDb" /> 

यह कनेक्शन स्ट्रिंग की तरह साथ बनाया गया था में एक कनेक्शन स्ट्रिंग है डेटा स्रोत विन्यास विज़ार्ड। डेटाग्रिड व्यू बनाने के लिए डेटासेट स्रोत को खींचकर और डेटास्र स्रोत को खींचकर सभी सीआरयूडी परिचालनों को सफलतापूर्वक अनुमति देता है।

हालांकि, मैं किसी डाटाबेस फॉर्म के माध्यम से इसमें बदलाव नहीं करना चाहता हूं। मैं कोड में दृश्यों के पीछे ऐसा करने के लिए देख रहा हूँ। चूंकि यह SQL सर्वर का पुराना संस्करण है, मुझे लगता है कि मुझे नौकरी पाने के लिए ओलेडीबीकनेक्शन और अन्य ओलेडीबी ऑब्जेक्ट्स का उपयोग करना चाहिए। जब मैं निम्नलिखित को निष्पादित करने का प्रयास करें:

OleDbConnection visualConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["MFG_ConnectionString"].ConnectionString); 

मैं एक अपवाद मिलता है:।। "कीवर्ड समर्थित नहीं 'प्रदाता'
फिर भी अगर मैं प्रदाता बाहर ले मुझे बताया गया हूँ कि मैं एक प्रदान करना होगा सुनिश्चित नहीं हैं कि क्यों इस फॉर्म पर डेटासेट के माध्यम से काम करता है फिर भी मैं अपना खुद का कनेक्शन ऑब्जेक्ट नहीं बना सकता ... कोई विचार?

EDIT यह ध्यान दिया जाना चाहिए कि जब मैंने मूल रूप से इस डेटाबेस से कनेक्शन बनाया, तो उसने मुझे बताया कि डेटाबेस I SqlConnection का समर्थन नहीं करने के लिए कनेक्ट करने का प्रयास कर रहा था और मुझे एक और चुनना होगा (उस समय मेरी पसंद ओलेडीबी है)। यह मेरे लिए अजीब है कि यह सह nnection कनेक्शन स्ट्रिंग में प्रदाता के बिना SqlConnection के रूप में पर्दे के पीछे काम करता है लेकिन डाटासेट तो टूट जाता है ...

उत्तर

1

SqlConnection एसक्यूएल 2000 के साथ ठीक काम करता है आप SqlConnection को परिवर्तित करने से एक connectionstring नमूना here

+2

प्राप्त कर सकते हैं मुझे एक ही त्रुटि देता है , इसलिए मैं अंदर जाता हूं और स्ट्रिंग का प्रदाता भाग लेता हूं और यह ठीक काम करता है। अब मैं समझने की कोशिश कर रहा हूं क्यों। यदि मैं प्रदाता को बाहर करने के लिए कनेक्शन स्ट्रिंग को बदलता हूं, तो डेटासेट निजी रूप से कार्य करना बंद कर देता है। क्या दो कनेक्शन तारों का एकमात्र समाधान है, एक डेटासेट के लिए और दूसरा मैन्युअल कनेक्शन के लिए? – Mohgeroth

+0

जब आप SqlConnection पर स्विच करते हैं, तो आपकी कनेक्शन स्ट्रिंग साइट पर किसी एक की तरह दिखनी चाहिए। मेरा व्यक्तिगत पसंदीदा "सर्वर = SOMESERVERNAME है; डेटाबेस = SOMEDATABASENAME; उपयोगकर्ता आईडी = SOMEUSERID; पासवर्ड = SOMEPASSWORD;" - इसके साथ, आपको डेटासेट, रीडर, कमांड निष्पादित करने या किसी भी ओआरएम का उपयोग करने के बावजूद कनेक्ट करने में कोई परेशानी नहीं होनी चाहिए। –

+0

जो मैंने स्विच किया है, और यह ठीक ठीक पीछे कोड में काम करता है। हालांकि इस कनेक्शन का उपयोग कर डेटासेट से जुड़े फॉर्मों पर सभी नियंत्रण कार्य करना बंद कर देते हैं क्योंकि यह अब कनेक्शन स्ट्रिंग की व्याख्या नहीं कर सकता है। कनेक्शन स्ट्रिंग में प्रदाता के बिना किसी कारण से मैंने अपने फॉर्म – Mohgeroth

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