2013-10-30 7 views
5

माइक्रोसॉफ्ट.एसीई.ओएलडीबी.12.0 'प्रदाता स्थानीय मशीन पर पंजीकृत नहीं है।एमएस एक्सेस

और

Microsoft.Jet.OLEDB.4.0 'प्रदाता स्थानीय मशीन पर पंजीकृत नहीं है।

मेरे लिए दोनों त्रुटियां हैं। मैं एक एक्सेस कनेक्शन बनाने की कोशिश करते समय दोनों कोशिश कर रहा हूं। मुझे यकीन नहीं है कि अब और क्या करना है।

मेरे पास 64 बिट मशीन पर 32 बिट ऑफिस है। मुझे समाधान मिला जहां उन्होंने एक्सेस डेटाबेस इंजन स्थापित करने के लिए कहा लेकिन यह मुझे 32 बिट कार्यालय के साथ 64 बिट स्थापित करने नहीं देगा। एक और स्रोत इसे बाईपास करने के लिए उल्लिखित है, आप कमांड लाइन में जा सकते हैं और $> AccessDatabaseEngine_X64.exe /passive कर सकते हैं लेकिन निष्क्रिय को कमांड के रूप में पहचाना नहीं जाता है।

मुझे एक और संभावित समाधान मिला जो कार्यालय सिस्टम ड्राइवर और घटकों को डाउनलोड करने के लिए कहा गया था, फिर स्रोत के रूप में एक्सेस डेटाबेस जोड़ें लेकिन यह काम नहीं करता था। मैं विचारों से बाहर निकल रहा हूं अगर कोई मदद कर सकता है तो इसकी बहुत सराहना की जाएगी।

+3

एक 32-बिट प्रक्रिया के रूप में चलाने की कोशिश करें। – SLaks

+0

हाँ मैं इसे भी कोशिश करूंगा –

+0

आप यह कैसे करते हैं? –

उत्तर

2

यदि आप स्थापित करने की आवश्यकता: लेख के लिए

लिंक मैं की बात कर रहा हूँ पहले से ही 32-द्वि है टी कार्यालय स्थापित है तो आप एक्सेस डेटाबेस इंजन (ए.के.ए. के 32-बिट संस्करण के साथ काफी अटक गए हैं। "ऐस")। जैसा कि आपने पाया है, 64-बिट एसीई को उस मशीन पर मजबूर करने का एक तरीका माना जाता है जिसमें पहले से 32-बिट कार्यालय घटक हैं, लेकिन व्यक्तिगत रूप से मैं "वहां नहीं जाऊंगा"।

तो, आपको 32-बिट के रूप में चलाने के लिए अपने सी # प्रोजेक्ट को कॉन्फ़िगर करने की आवश्यकता है। आप क्या कर सकते हैं कि इस परियोजना के गुण का टैब बिल्ड पर Platform: x86 का चयन करके:।

Platform.png

(यही कारण है कि स्क्रीनशॉट एक 32-बिट आभासी मशीन पर ले जाया गया है, तो डिफ़ॉल्ट कॉन्फ़िगरेशन पहले से ही 32-बिट था डिफ़ॉल्ट 64-बिट मशीनों पर स्थापित करने "कोई भी सीपीयू" होना चाहिए।)

एक Windows में वातावरण में प्रक्रिया आप

String.Format("I am running as {0}-bit.", IntPtr.Size * 8) 

उदाहरण के लिए उपयोग कर सकते हैं चल रहा है सत्यापित करने के लिए, आप आवेदन cou फॉर्म्स ld उपयोग

MessageBox.Show(String.Format("I am running as {0}-bit.", IntPtr.Size * 8)); 

प्रदर्शित करना चाहिए कि

I am running as 32-bit. 
+0

समस्या अभी भी बनी हुई है :( –

+0

@ जॉनस्मिथ मैंने जिस स्थिति में प्रक्रिया चल रही है उसे सत्यापित करने के लिए कोड के साथ अपना उत्तर अपडेट किया है। कृपया पुष्टि करें कि आपका ऐप वास्तव में 32-बिट के रूप में चल रहा है। –

+0

हाँ यह अभी भी 64 में बना रहा था थोड़ा। मदद के लिए बहुत बहुत धन्यवाद, अब यह काम कर रहा है –

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