2009-09-01 7 views
17

यह विकी पोस्ट एक समस्या और समाधान दोनों को रेखांकित करता है। मैं इसे दूसरों के लिए पोस्ट करना चाहता था जिसमें समान समस्याएं हो सकती हैं, क्योंकि मुझे इस समस्या को हल करने के लिए विशेष रूप से कुछ भी नहीं मिला।एसक्यूएल 2000 में ओडीबीसी की समस्याएं -> 2005 अपग्रेड

हमने हाल ही में हमारे SQL Server 2000 डेटाबेस को SQL Server 2005 में अपग्रेड किया है। सर्वर पर डेटाबेस में से एक एमएस एक्सेस डेटाबेस का बैक-एंड है। एमएस एक्सेस डेटाबेस एसक्यूएल सर्वर से कनेक्ट करने के लिए डीएसएन-कम ओडीबीसी के माध्यम से पास-थ्रू प्रश्नों का उपयोग करता है।

DSN कम कनेक्शन स्ट्रिंग का एक उदाहरण नीचे दिखाया गया है:

ODBC; DRIVER=SQL Server;SERVER=servername;APP=Microsoft® Access (Pass Through 
    Query);DATABASE=databasename;Network=DBMSSOCN;ConnectionTimeout=20; 
    Trusted_Connection=Yes 

उन्नयन के बाद हमने पाया है कि उपयोगकर्ताओं को पास के माध्यम से प्रश्नों चलाने में असमर्थ थे, और निम्न त्रुटि दिखाया गया हो रही गया:

ODBC - 'एसक्यूएल सर्वर ' से कनेक्शन विफल

यह शुरू में एक प्रतीत होता है अनुमति समस्या, SQL सर्वर लॉग इन के निजीकरण को sysadmin सर्वर भूमिका में बढ़ाने के रूप में समस्या को कम करता है (लेकिन जाहिर है यह एक अच्छा समाधान नहीं है)।

लॉग इन को सिसडमिन भूमिका से वापस लेने के बाद हमने पाया कि प्रबंधन स्टूडियो के माध्यम से SQL सर्वर से कनेक्ट होने पर, लॉगिन संग्रहीत प्रक्रियाओं को निष्पादित कर सकता है। एमएस एक्सेस के भीतर से वही लॉगिन नहीं हो सका। इसने इशारा किया कि किसी अनुमति समस्या के बजाए संग्रहीत प्रक्रियाओं को निष्पादित करने का प्रयास करते समय एमएस एक्सेस कुछ कर रहा था।

हम प्रोफाइलर का उपयोग कर सर्वर पर एक निशान भाग गया, और यह संग्रहीत proc निष्पादन से पहले निम्न आदेश पर अमल करने की कोशिश कर रहा एमएस एक्सेस दिखाया:

DBCC TRACEON(208) 

यह इस आदेश पर विफल दिखाई दिया संग्रहीत करने से पहले प्रक्रिया निष्पादन। वेब पर शोध से पता चला कि डीबीसीसी ट्रेसीन (208) 'सेट क्वालिड पहचानकर्ताओं' कमांड का उपयोग करने के बराबर है, और एसक्यूएल 2005 में निजीकरण इस डीबीसीसी कमांड को चलाने के लिए रद्द कर दिया गया था।

आगे के शोध के बाद, हमें एमएस क्वेरी के समान समस्याएं मिलीं, और कनेक्शन स्ट्रिंग का एपीपी घटक 'एमएस क्वेरी' से कुछ और में बदला जाना चाहिए।

एक कूबड़ पर, हम ODBC कनेक्शन स्ट्रिंग के बारे में हमारी एपीपी घटक बदल गया है, और एमएस एक्सेस नहीं रह गया है DBCC TRACEON (208) संग्रहीत प्रक्रिया निष्पादन से पहले क्रियान्वित करने की कोशिश की।

आगे के परीक्षण के बाद, हम समस्या नीचे एपीपी घटक में शामिल 'कॉपीराइट' प्रतीक को ट्रैक किया गया:

APP=Microsoft® Access (Pass Through Query) 

कॉपीराइट प्रतीक को हटाकर, सभी कनेक्शन के साथ अच्छी तरह से हो गया था और आवेदन यह रूप में काम किया पहले एसक्यूएल 2000 पर किया था।

आशा है कि इससे किसी और को भी ऐसी ही समस्या हो सकती है।

+0

समस्या निवारण में उत्कृष्ट नौकरी और इसे पोस्ट करने के लिए समय लेना। मैं शर्त लगाऊंगा कि जब आपके पास पहली समस्या उत्पन्न हुई थी तो आपके से कम बाल हैं ... –

+0

इसे साझा करने के लिए धन्यवाद। क्या आप इसे एक प्रश्न और उत्तर में अलग कर सकते हैं? यह एसओ डिजाइन बेहतर सेवा करेगा। –

+0

क्या यह उत्तर दिया गया है? यदि ऐसा है, तो इसे चिह्नित करें! – djangofan

उत्तर

1

क्या पंजीकृत ट्रेडमार्क प्रतीक नहीं है?

मेरा मानना ​​है कि आप ओडीबीसी आधारित हमलों के खिलाफ एसक्यूएल सर्वर 2005 की सुरक्षा में से एक पर हिट करते हैं। चूंकि इसके बारे में इंटरनेट पर कुछ भी नहीं है, इसलिए संभव है कि कुछ एमएस आंतरिक रूप से संभाला जाए।

+0

हाँ, आप कॉपीराइट प्रतीक के बजाए एक पंजीकृत व्यापार चिह्न होने के प्रतीक के बारे में सही कह सकते हैं। यह एक या दूसरा था, लेकिन पंजीकृत व्यापार अंक बेहतर फिट बैठते हैं, और मैंने इसे कनेक्शन से हटा दिया है, इसलिए वापस नहीं जा सकते हैं और जांच सकते हैं। चियर्स – Jayden

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