2010-06-19 10 views
54

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

उत्तर

67

वे एक दूसरे के समानार्थी हैं और इंटरचाचा का उपयोग किया जा सकता है ngeably।

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

 
+----------------------+-------------------------+ 
| Value    | Synonym     | 
+----------------------+-------------------------+ 
| app     | application name  | 
| async    | asynchronous processing | 
| extended properties | attachdbfilename  | 
| initial file name | attachdbfilename  | 
| connection timeout | connect timeout   | 
| timeout    | connect timeout   | 
| language    | current language  | 
| addr     | data source    | 
| address    | data source    | 
| network address  | data source    | 
| server    | data source    | 
| database    | initial catalog   | 
| trusted_connection | integrated security  | 
| connection lifetime | load balance timeout | 
| net     | network library   | 
| network    | network library   | 
| pwd     | password    | 
| persistsecurityinfo | persist security info | 
| uid     | user id     | 
| user     | user id     | 
| wsid     | workstation id   | 
+----------------------+-------------------------+ 

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

+0

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

+4

एसक्यूएल एक्सप्रेस 2014 पर मैं विश्वसनीय_कनेक्शन का उपयोग कर रहा हूं और यह काम कर रहा है ... कृपया अंडरस्कोर को नोट करें और विश्वसनीय_कनेक्शन –

9

वे वही हैं।

दुर्भाग्य से, वहाँ इस तरह कई रूप हैं, जैसे:

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

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

मैं रूपों के मूल का यकीन नहीं है, मैं कुछ मान जेनेरिक होने के लिए हैं (डेटाबेस-केंद्रित नहीं है, इसलिए आपकी कनेक्शन स्ट्रिंग बहुत समान दिखाई देगी यदि एक निर्देशिका सेवा से जुड़ने वाले आरडीबीएमएस से कनेक्ट हो रहा है)

+0

शब्द 'कैटलॉग' संबंधपरक डेटाबेस नामकरण का हिस्सा है, और आरडीबीएमएस के अलावा कुछ भी संदर्भित नहीं करता है। यह इस SO उत्तर में काफी अच्छी तरह से समझाया गया है: http://stackoverflow.com/questions/7022755/whats-the-difference-between-a-catalog-and-a-chechema-in-a-relational-डेटा – ProfK

2

तो थोड़ी देर बाद मैंने नाम के नाम की उत्पत्ति की खोज की। टोकन का एक सेट ओडीबीसी द्वारा उपयोग किया जाता था और ओएलडीडीबी के लिए परिभाषित एक अलग सेट था। विरासत कारणों के लिए एसक्यूएल सर्वर के लिए वे अभी भी दोनों एक दूसरे के लिए समर्थन करते हैं।

Trusted_Connection = सत्य ओडीबीसी और एकीकृत सुरक्षा = एसएसपीआई ओएलडीडीबी था।

+1

का उपयोग करते समय आपको "सत्य" के बजाय "हाँ" का उपयोग करना होगा http://www.connectionstrings.com/sql-server ऐसा लगता है कि ओएलडीडीबी के लिए काम करता है। क्या आपके पास एक अलग संसाधन है? – Aligned

1

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

+0

यदि आप SQL सर्वर प्रमाणीकरण का उपयोग कर रहे हैं और आप उपयोगकर्ता आईडी और पासवर्ड निर्दिष्ट करते हैं तो आपको "एकीकृत सुरक्षा" या "विश्वसनीय_कनेक्शन" का उल्लेख करने की आवश्यकता नहीं है। – grahamesd

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