कनेक्शन स्ट्रिंग में Trusted_Connection और Integrated Security के बीच क्या अंतर है?


81

मैं उत्सुक हूं कि SQL सर्वर कनेक्शन स्ट्रिंग्स में टोकन "Trusted_Connection" और "एकीकृत सुरक्षा" के बीच अंतर क्या है (मेरा मानना ​​है कि अन्य डेटाबेस / ड्राइवर इनका समर्थन नहीं करते हैं)। मैं समझता हूं कि वे समतुल्य हैं।

जवाबों:


100

वे एक दूसरे के लिए समानार्थक शब्द हैं और इसका उपयोग परस्पर किया जा सकता है।

.Net में, SqlConnectionStringBuilder नामक एक वर्ग है जो स्ट्रिंग के कुछ हिस्सों को बनाने के लिए टाइप-सुरक्षित गुणों का उपयोग करते हुए SQL सर्वर कनेक्शन स्ट्रिंग्स से निपटने के लिए बहुत उपयोगी है । यह वर्ग समानार्थी शब्दों की एक आंतरिक सूची रखता है ताकि यह एक मान से दूसरे में जा सके:

+ ---------------------- + ------------------------- +
| मान | पर्यायवाची शब्द |
+ ---------------------- + ------------------------- +
| ऐप | आवेदन का नाम |
| async | अतुल्यकालिक प्रसंस्करण |
| विस्तारित गुण | संलग्नकफिलनेम |
| प्रारंभिक फ़ाइल नाम | संलग्नकफिलनेम |
| कनेक्शन टाइमआउट | कनेक्ट टाइमआउट |
| समय समाप्त | कनेक्ट टाइमआउट |
| भाषा | वर्तमान भाषा |
| addr | डेटा स्रोत |
| पता | डेटा स्रोत |
| नेटवर्क का पता | डेटा स्रोत |
| सर्वर | डेटा स्रोत |
| डेटाबेस | प्रारंभिक सूची |
| भरोसेमंद_संकल्प | एकीकृत सुरक्षा |
| कनेक्शन जीवनकाल | लोड बैलेंस टाइमआउट |
| नेट | नेटवर्क लाइब्रेरी |
| नेटवर्क | नेटवर्क लाइब्रेरी |
| pwd | पासवर्ड |
| persistsecurityinfo | सुरक्षा की जानकारी |
| यूआईडी | यूजर आईडी |
| उपयोगकर्ता | उपयोगकर्ता आईडी |
| wsid | वर्कस्टेशन आईडी |
+ ---------------------- + ------------------------- +

(रिफ्लेक्टर की मदद से संकलित)

ODBC और OleDb कनेक्शन स्ट्रिंग्स से निपटने के लिए अन्य समान कक्षाएं हैं, लेकिन दुर्भाग्य से अन्य डेटाबेस विक्रेताओं के लिए कुछ भी नहीं है - मुझे लगता है कि इस तरह के कार्यान्वयन को प्रदान करने के लिए एक विक्रेता की लाइब्रेरी पर onus है।


इस के भविष्य के दर्शकों के लिए साइड नोट: विश्वसनीय कनेक्शन मेरे लिए Sql सर्वर 2014 में काम नहीं करता है। हालांकि, एकीकृत सुरक्षा करता है, इसलिए मैं इसके साथ जा रहा हूं!
स्टैचू

4
एसक्यूएल एक्सप्रेस 2014 पर मैं विश्वसनीय_कान का उपयोग कर रहा हूं और यह काम कर रहा है ... कृपया अंडरस्कोर को नोट करें और आपको विश्वसनीय_ -कनेक्शन का उपयोग करते समय "सच" के बजाय "हां" का उपयोग करना होगा
ज़ोरान पी।

10

वह एक जैसे है।

दुर्भाग्य से, इस तरह कई भिन्नताएं हैं, जिनमें शामिल हैं:

सर्वर / डेटा स्रोत

डेटाबेस / प्रारंभिक सूची

मैं विविधताओं की उत्पत्ति के बारे में निश्चित नहीं हूं, मेरा मानना ​​है कि कुछ सामान्य होने के लिए हैं (डेटाबेस-केंद्रित नहीं है, इसलिए अगर आपका RDBMS बनाम एक निर्देशिका सेवा से कनेक्ट हो रहा है, तो आपका कनेक्शन स्ट्रिंग बहुत समान लगेगा)


यह शब्द catalogसंबंधपरक डेटाबेस के नामकरण का हिस्सा है, और यह आरडीबीएमएस के अलावा किसी भी चीज़ का संदर्भ नहीं देता है। यह इस एसओ उत्तर में काफी अच्छी तरह से समझाया गया है: stackoverflow.com/questions/7022755/…
ProfK

2

इसलिए थोड़ा बाद में मुझे नाम क्लैश की उत्पत्ति का पता चला। ओडीबीसी द्वारा टोकन का एक सेट और OLEDB के लिए परिभाषित एक अलग सेट का उपयोग किया गया था। विरासत सर्वर के लिए Sql सर्वर के लिए वे अभी भी दोनों का समर्थन करते हैं।

Trusted_Connection = true ODBC और इंटीग्रेटेड सिक्योरिटी = SSPI OLEDB था।


1
connectionstrings.com/sql-server कहने पर लगता है कि यह OLEDB के लिए काम करता है। क्या आपके पास एक अलग संसाधन है?
अलिन्देदेव

1

मेरे मामले में मैंने "Trusted_Connection" और "एकीकृत सुरक्षा" के बीच अंतर खोजा है। मैं Microsoft SQL Server 2005 का उपयोग कर रहा हूं। मूल रूप से मैंने विंडोज लॉगऑन (एकीकृत सुरक्षा = एसएसपीआई) का उपयोग किया था। लेकिन जब मैंने यूजर आईडी और पासवर्ड जोड़कर SQL सर्वर प्रमाणीकरण द्वारा विंडोज प्रमाणीकरण को बदल दिया, तो "गलत" द्वारा SSPI को प्रतिस्थापित करने में विफल रहा। इसने "मल्टीपल-स्टेप OLE DB ऑपरेशन जनरेट एरर" लौटाया। हालाँकि, जब मैंने "Trusted_Connection = no" द्वारा "एकीकृत सुरक्षा = गलत" को प्रतिस्थापित किया, तो यह काम कर गया।


यदि आप SQL सर्वर प्रमाणीकरण का उपयोग कर रहे हैं और आप उपयोगकर्ता आईडी और पासवर्ड निर्दिष्ट करते हैं, तो आपको "एकीकृत सुरक्षा" या "विश्वसनीय_कनेक्ट" का उल्लेख करने की आवश्यकता नहीं है।
ग्रहमैड्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.