मैं उत्सुक हूं कि SQL सर्वर कनेक्शन स्ट्रिंग्स में टोकन "Trusted_Connection" और "एकीकृत सुरक्षा" के बीच अंतर क्या है (मेरा मानना है कि अन्य डेटाबेस / ड्राइवर इनका समर्थन नहीं करते हैं)। मैं समझता हूं कि वे समतुल्य हैं।
मैं उत्सुक हूं कि SQL सर्वर कनेक्शन स्ट्रिंग्स में टोकन "Trusted_Connection" और "एकीकृत सुरक्षा" के बीच अंतर क्या है (मेरा मानना है कि अन्य डेटाबेस / ड्राइवर इनका समर्थन नहीं करते हैं)। मैं समझता हूं कि वे समतुल्य हैं।
जवाबों:
वे एक दूसरे के लिए समानार्थक शब्द हैं और इसका उपयोग परस्पर किया जा सकता है।
.Net में, SqlConnectionStringBuilder नामक एक वर्ग है जो स्ट्रिंग के कुछ हिस्सों को बनाने के लिए टाइप-सुरक्षित गुणों का उपयोग करते हुए SQL सर्वर कनेक्शन स्ट्रिंग्स से निपटने के लिए बहुत उपयोगी है । यह वर्ग समानार्थी शब्दों की एक आंतरिक सूची रखता है ताकि यह एक मान से दूसरे में जा सके:
+ ---------------------- + ------------------------- + | मान | पर्यायवाची शब्द | + ---------------------- + ------------------------- + | ऐप | आवेदन का नाम | | async | अतुल्यकालिक प्रसंस्करण | | विस्तारित गुण | संलग्नकफिलनेम | | प्रारंभिक फ़ाइल नाम | संलग्नकफिलनेम | | कनेक्शन टाइमआउट | कनेक्ट टाइमआउट | | समय समाप्त | कनेक्ट टाइमआउट | | भाषा | वर्तमान भाषा | | addr | डेटा स्रोत | | पता | डेटा स्रोत | | नेटवर्क का पता | डेटा स्रोत | | सर्वर | डेटा स्रोत | | डेटाबेस | प्रारंभिक सूची | | भरोसेमंद_संकल्प | एकीकृत सुरक्षा | | कनेक्शन जीवनकाल | लोड बैलेंस टाइमआउट | | नेट | नेटवर्क लाइब्रेरी | | नेटवर्क | नेटवर्क लाइब्रेरी | | pwd | पासवर्ड | | persistsecurityinfo | सुरक्षा की जानकारी | | यूआईडी | यूजर आईडी | | उपयोगकर्ता | उपयोगकर्ता आईडी | | wsid | वर्कस्टेशन आईडी | + ---------------------- + ------------------------- +
(रिफ्लेक्टर की मदद से संकलित)
ODBC और OleDb कनेक्शन स्ट्रिंग्स से निपटने के लिए अन्य समान कक्षाएं हैं, लेकिन दुर्भाग्य से अन्य डेटाबेस विक्रेताओं के लिए कुछ भी नहीं है - मुझे लगता है कि इस तरह के कार्यान्वयन को प्रदान करने के लिए एक विक्रेता की लाइब्रेरी पर onus है।
वह एक जैसे है।
दुर्भाग्य से, इस तरह कई भिन्नताएं हैं, जिनमें शामिल हैं:
सर्वर / डेटा स्रोत
डेटाबेस / प्रारंभिक सूची
मैं विविधताओं की उत्पत्ति के बारे में निश्चित नहीं हूं, मेरा मानना है कि कुछ सामान्य होने के लिए हैं (डेटाबेस-केंद्रित नहीं है, इसलिए अगर आपका RDBMS बनाम एक निर्देशिका सेवा से कनेक्ट हो रहा है, तो आपका कनेक्शन स्ट्रिंग बहुत समान लगेगा)
catalog
संबंधपरक डेटाबेस के नामकरण का हिस्सा है, और यह आरडीबीएमएस के अलावा किसी भी चीज़ का संदर्भ नहीं देता है। यह इस एसओ उत्तर में काफी अच्छी तरह से समझाया गया है: stackoverflow.com/questions/7022755/…
इसलिए थोड़ा बाद में मुझे नाम क्लैश की उत्पत्ति का पता चला। ओडीबीसी द्वारा टोकन का एक सेट और OLEDB के लिए परिभाषित एक अलग सेट का उपयोग किया गया था। विरासत सर्वर के लिए Sql सर्वर के लिए वे अभी भी दोनों का समर्थन करते हैं।
Trusted_Connection = true ODBC और इंटीग्रेटेड सिक्योरिटी = SSPI OLEDB था।
मेरे मामले में मैंने "Trusted_Connection" और "एकीकृत सुरक्षा" के बीच अंतर खोजा है। मैं Microsoft SQL Server 2005 का उपयोग कर रहा हूं। मूल रूप से मैंने विंडोज लॉगऑन (एकीकृत सुरक्षा = एसएसपीआई) का उपयोग किया था। लेकिन जब मैंने यूजर आईडी और पासवर्ड जोड़कर SQL सर्वर प्रमाणीकरण द्वारा विंडोज प्रमाणीकरण को बदल दिया, तो "गलत" द्वारा SSPI को प्रतिस्थापित करने में विफल रहा। इसने "मल्टीपल-स्टेप OLE DB ऑपरेशन जनरेट एरर" लौटाया। हालाँकि, जब मैंने "Trusted_Connection = no" द्वारा "एकीकृत सुरक्षा = गलत" को प्रतिस्थापित किया, तो यह काम कर गया।