2015-06-17 6 views
8

जानकारी: हमारे पास एक तृतीय पक्ष एप्लिकेशन है जिसका उपयोग हम अपनी कंपनी में उत्पादन के लिए करते हैं। यह प्रोग्राम ओडीबीसी के माध्यम से हमारे SQL सर्वर 2012 डेटाबेस से कनेक्ट करने के लिए एक डीएसएन का उपयोग करता है। यह एप्लिकेशन सर्वर 2003 (एमएडीसी 2.8) के तहत ठीक से काम करता है, हालांकि जब मैं इसे सर्वर 2008 x86 (DAC 6.0) में लाता हूं, तो मुझे "Microsoft OLE DB प्रदाता SQL सर्वर लॉगिन उपयोगकर्ता XXX के लिए विफल" के साथ कनेक्शन विफल रहा है। मुझे लगता है कि सर्वर 2008 के साथ शुरू होने वाले विंडोज सर्वर पर ट्रू टू फाल्स से बदलकर "लगातार सुरक्षा जानकारी" के डिफ़ॉल्ट होने के कारण यह है (डीएसी 6.0 में परिवर्तित)। मेरे पास एप्लिकेशन के अंदर कनेक्शन स्ट्रिंग को बदलने की पहुंच नहीं है क्योंकि यह तीसरी पार्टी है। के रूप में इस articleADO.Net "स्थायी सुरक्षा जानकारी" को सही करें

प्रश्न में देखी गई: वहाँ इतना है कि यह मान कनेक्शन स्ट्रिंग के झूठे बाहर के बजाय सही पर चूक है ADO.Net के व्यवहार को बदलने के लिए कोई तरीका है। मैं कम से कम साबित या अस्वीकार करने में सक्षम होना चाहता हूं कि यह समस्या इस मुद्दे को उत्पन्न करती है।

नोट: मुझे पता है यह एक बहुत बड़ा सुरक्षा इस सेटिंग के साथ छेड़छाड़ मुद्दा है और अगर यह सुनिश्चित करने के लिए सर्वर और आवेदन अलग कर रहे हैं बदल गया है हम सही सावधानियां बरतने की जाएगी।

समाधान: नीचे @ विलियम द्वारा प्रदान किया गया। यदि आप अपने SQL सर्वर तृतीय पक्ष एप्लिकेशन को सर्वर 2003 से सर्वर 2008+ में अपडेट कर रहे हैं और आपको उपरोक्त कनेक्शन मिल रहे हैं, जहां 2003 में आपने नहीं किया था, तो SQL खाते के लिए पासवर्ड रिक्त स्थान पर सेट करें (अस्थायी रूप से या केवल स्टेजिंग में, यह है उत्पादन में रिक्त छोड़ना बहुत खतरनाक है) यह जांचने के लिए कि रिक्त पासवर्ड प्रदान किए जाने पर एप्लिकेशन फिर से काम करता है या नहीं। यदि ऐसा होता है तो एप्लिकेशन कनेक्शन स्ट्रिंग में निरंतर सुरक्षा जानकारी सेट नहीं कर रहा है और वह मान जो सत्य पर डिफ़ॉल्ट था, अब गलत पर डिफ़ॉल्ट है। आपका एप्लिकेशन सर्वर 2003 के तहत उपयोग तक ही सीमित हो सकता है और सर्वर 2008+ पर ठीक से काम नहीं कर सकता है। ऐसा कोई तरीका नहीं है कि मैं मान को डिफ़ॉल्ट पर वापस प्राप्त करने के लिए पा सकूं।

+1

क्या आपने [HKLM] \ सॉफ़्टवेयर \ ODBC \ ODBC.INI \ के तहत रजिस्ट्री में अपने डीएसएन कनेक्शन को संपादित करने का प्रयास किया है? मेरे पास – KarmaEDV

+0

है। इतने करीब के रूप में मैं यह कह सकता हूं कि आवेदन शुरू होने पर हर बार क्या होता है। यदि एप्लिकेशन स्थापित नहीं किया गया है तो यह रूट में एक नई .DSN फ़ाइल बनाता है, फिर अंतिम उपयोगकर्ता को इस फ़ाइल को सेटिंग्स के साथ कॉन्फ़िगर करने की अनुमति देता है, जब उपयोगकर्ता ओडीबीसी रजिस्ट्री में सेटिंग्स में लॉग इन करता है, तो अंतिम सफल लॉग से अपडेट किया जाता है, तो ऐप के लिए reg DSN का उपयोग किया जाता है। कनेक्शन स्ट्रिंग ऑब्जेक्ट कोड में बनाई गई है और रजिस्ट्री में संग्रहीत नहीं है। मैंने डीएसएन के तहत रजिस्ट्री में अतिरिक्त कुंजी जोड़ने का प्रयास किया है, लेकिन वे कोड में ऑब्जेक्ट में अधिलेखित हो जाते हैं या लोड नहीं होते हैं। –

+1

मुझे एक ही समस्या है। हमारे पास एक विरासत एप्लिकेशन है (जिसके लिए हमारे पास कोई स्रोत नहीं है) कि हमें विंडोज 2008 का उपयोग करने के लिए बंदरगाह की आवश्यकता है, और ऐप अधिक कनेक्शन बनाने के लिए कनेक्शन ऑब्जेक्ट से कनेक्शन स्ट्रिंग को वापस खींचने में सक्षम होने पर निर्भर करता है। यह पर्सिस्ट सिक्योरिटी इन्फो के प्रभाव से पहले लिखा गया था, इसलिए यह सब कुछ निर्दिष्ट नहीं करता है (निहित रूप से डिफ़ॉल्ट पर निर्भर करता है)। Windows Vista में गलत तरीके से बदलते हुए डिफ़ॉल्ट मान के साथ और बाद में, एप्लिकेशन वहां नहीं चलेगा। मुझे निरंतर सुरक्षा जानकारी के लिए सिस्टम (या उपयोगकर्ता) डिफ़ॉल्ट सेट करने का कोई तरीका नहीं मिला है। – William

उत्तर

4

यदि एप्लिकेशन नए कनेक्शन स्ट्रिंग बनाने के लिए मौजूदा कनेक्शन ऑब्जेक्ट का उपयोग कर रहा है, तो इस मुद्दे के लिए एक समाधान हो सकता है - एप्लिकेशन और सुरक्षा बाधाओं के आधार पर।

चूंकि एकीकृत समस्या का उपयोग करते समय यह समस्या शायद मौजूद नहीं है, इसलिए हम मान सकते हैं कि "SQL सर्वर मानक सुरक्षा" एक आवश्यकता है। यदि रिक्त पासवर्ड SQL सर्वर खाते के लिए उपयोग किया जाता है, तो, जब नई कनेक्शन स्ट्रिंग का निर्माण होता है, तो यह सही होगा (कुछ हद तक दुर्घटना से)।

+0

बक्षीस का आनंद लें, यह साबित करने का एक ठोस तरीका है कि कनेक्शन स्ट्रिंग में सुरक्षा सुरक्षा जारी नहीं है या नहीं। जैसा कि आपने कहा था कि इस तरह का पासवर्ड खाली छोड़ना कुछ हद तक खतरनाक है और उत्पादन सेटिंग में नहीं किया जाना चाहिए। अगर हम इस बदलाव को लागू करने की योजना बना रहे हैं तो हमारी समस्या को हल करने में हमें बहुत सावधानी से सोचने की आवश्यकता होगी। तुम्हारे सहयोग के लिए तुम्हे धन्यवाद! –

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