मुझे पता है कि मेरे पास यह समस्या है जब मैं अपने एप्लिकेशन को एक नए सर्वर पर तैनात करता हूं क्योंकि मैं इस ड्राइवर का उपयोग एक्सेल फाइल से कनेक्ट करने के लिए कर रहा हूं। तो यहाँ है कि मैं हाल ही में क्या कर रहा हूँ।
विंडोज सर्वर 2008 आर 2 है, मैं एक्स 64 बिट मशीन के लिए एक्सेस ड्राइवरों को स्थापित करता हूं और मुझे इस संदेश से छुटकारा मिलता है, जिससे मुझे बस दूसरे में टकराकर बहुत खुशी होती है।
यह नीचे एक मेरी dev मशीन पर शानदार तरीके से काम करता है, लेकिन सर्वर मुझे नवीनतम ODBC ड्राइवर स्थापित करने के बाद भी एक त्रुटि देता है, जो मुझे लगता है कि यह समस्या है, लेकिन यह है कि मैंने इसे कैसे हल किया।
private const string OledbProviderString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\OlsonWindows.xls;Extended Properties=\"Excel 8.0;HDR=YES\"";
मैं इस तरह नीचे दिए गए नए प्रदाता के साथ प्रतिस्थापित करता हूं:
private const string OledbProviderString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xlsx;Extended Properties='Excel 12.0;HDR=YES;';";
लेकिन जैसा कि मैं यह करता हूं, एक बात है जो आपको नोटिस करनी चाहिए। .Xlsx फ़ाइल एक्सटेंशन और एक्सेल संस्करण का उपयोग करना 12.0 है।
इस त्रुटि संदेश में आने के बाद त्रुटि: "इंस्टाल नहीं हो पा रहा है ISAM" , मैं चीजों को थोड़ा नीचे बदलने का फैसला करता हूं:
private const string OledbProviderString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xls;Extended Properties='Excel 8.0;HDR=YES;';";
और हाँ, मैं उस बुरे काम के साथ कर रहा हूँ, लेकिन यहाँ मुझे एक और संदेश मिला है Microsoft Access डेटाबेस इंजन 'time_zone' फ़ाइल को नहीं खोल या लिख सकता है। यह पहले से ही किसी अन्य उपयोगकर्ता द्वारा विशेष रूप से खोला गया है, या आपको इसके डेटा को देखने और लिखने के लिए अनुमति की आवश्यकता है।जो बताता है कि मैं इसे हल करने से दूर नहीं हूं।
हो सकता है कि इस बीच एक और प्रक्रिया हो जो फ़ाइल को बीच में खोले और मुझे जो भी करना है वह एक पुनरारंभ है और सभी आसानी से अपेक्षित रूप से चलने लगेंगे।