2011-09-20 7 views
11

मैं अपने विकास मशीन में विंडोज 7 64 बिट चल रहे .NET 2.0 एप्लिकेशन से डीबी 2 से कनेक्ट करने का प्रयास कर रहा हूं।SQL1159 डीबी 2 .NET डेटा प्रदाता के साथ प्रारंभिक त्रुटि, कारण कोड 2

मुझे यह त्रुटि खुली विधि में मिल रही है। समाधान नहीं मिला।

अपवाद टाइप: अवैधऑपरेशन अपवाद अपवाद मैसेज: SQL1159 डीबी 2 .NET डेटा प्रदाता के साथ प्रारंभिक त्रुटि, कारण कोड 2, टोकन डी: ....................... \ बिन \ db2app.dll, StackTrace: IBM.Data.DB2.DB2ConnPool.Open पर (DB2Connection कनेक्शन, स्ट्रिंग & szConnectionString, DB2ConnSettings & ppSettings, & ppConn वस्तु) IBM.Data.DB2.DB2Connection.Open पर ()

उत्तर

8

यह मेरे एक सहयोगी से यह सीख लिया। समस्या इसलिए थी क्योंकि db2app.dll अनुप्रयोग फ़ोल्डर की बिन निर्देशिका में अनुपलब्ध था।

सी: \ प्रोग्राम फ़ाइलें \ IBM \ SQLLIB \ BIN से डीबी 2app.dll और db2app64.dll को कॉपी किया गया है और यह ठीक काम करता है।

+1

हां, आपको यह सुनिश्चित करने की ज़रूरत है कि डीबी 2 ड्राइवर सूट पैथ – zinking

+0

पर धन्यवाद @ शेट्टी, आपके उत्तर ने मेरी समस्या का समाधान किया –

2

IBM doc for SQL1159N के नीचे "उपयोगकर्ता प्रतिक्रिया" देखें, जो आपको इस त्रुटि कोड को प्राप्त करने के कई कारणों को भी सूचीबद्ध करता है:

आपकी डीबी 2 स्थापना में कोई समस्या थी। यदि इस कंप्यूटर पर पहली बार डीबी 2 स्थापित किया गया था, तो किसी भी संभावित त्रुटियों के लिए इंस्टॉल लॉग की समीक्षा करें और प्रोग्राम जोड़ें/निकालें नियंत्रण कक्ष एप्लेट से डीबी 2 की मरम्मत चलाएं। इंस्टॉलेशन लॉग का डिफ़ॉल्ट स्थान उस उपयोगकर्ता का मेरा दस्तावेज़/DB2LOG फ़ोल्डर है जो स्थापना करता है। यदि यह समस्या का समाधान नहीं करता है तो कृपया आईबीएम समर्थन से संपर्क करें और किसी भी स्थापना लॉग के साथ इस संदेश से जुड़े कारण कोड प्रदान करें।

+0

लिंक के लिए धन्यवाद। लेकिन मेरी स्थापना में कोई समस्या नहीं थी। – Shetty

0

आईबीएम से बात करने के बाद, वे बिन फ़ोल्डर के अंदर आईबीएम डीएलएस डालने के खिलाफ दृढ़ता से अनुशंसा करते हैं। हमने आईबीएम को दूरस्थ रूप से हमारे सर्वर को कॉन्फ़िगर करने दिया है और अब सभी अच्छी तरह से काम करते हैं और हमें ibm * .dll को हमारे बिन फ़ोल्डर्स में नहीं रखना चाहिए या यह काम नहीं करेगा।

1

मेरे पास 32 बिट डीबी 2 क्लाइंट था और मैं इसे आईआईएस पर होस्ट किए गए वेब एप्लिकेशन से एक्सेस कर रहा था, एप्लिकेशन पूल का उपयोग करके ('32-बिट एप्लिकेशन सक्षम करें' को गलत पर सेट करें)। इस मामले में 64-बिट क्लाइंट (db2app64.dll) की अपेक्षा की जाती है जबकि db2app.dll त्रुटि से ऊपर फेंक देगा।

बस FYI .. विजुअल स्टूडियो में डिफ़ॉल्ट रूप से इस त्रुटि को डीबग करना मुश्किल है क्योंकि आईआईएस एक्सप्रेस 32-बिट एप्लिकेशन पूल का उपयोग करता है। इसे 64-बिट में बदलने के लिए, किसी को रजिस्ट्री में परिवर्तन करना पड़ता है (I64 एक्सप्रेस के लिए Use64BitIISExpress सेट करें) IIS Express के लिए कोई inetmgr नहीं है।

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