हमारे पास एक सी #/एएसपी.नेट (2.0) अनुप्रयोग है जो विंडोज सर्वर 2003 एंटरप्राइज़ संस्करण पर आईआईएस 6 पर चल रहा है। यह एप्लिकेशन ओलेडीबी का उपयोग कर एक्सेल फ़ाइलों को पढ़ता है, लेकिन ऐसे कई उदाहरण हैं जब हमें एप्लिकेशन के भीतर से "निर्दिष्ट त्रुटि" अपवाद मिल जाता है।सी #/एएसपी.नेट ओलेडब - एमएस एक्सेल "अनिर्दिष्ट त्रुटि"
फ़ाइल खोलने से पहले हमारे फ़ाइल अपलोड कोड द्वारा अस्थायी निर्देशिका में संग्रहीत है। चूंकि हमारे पास आईआईएस में अज्ञात पहुंच सक्षम है और चूंकि हम web.config में प्रतिरूपण का भी उपयोग करते हैं, इसलिए फ़ोल्डर C: \ Windows \ Temp \ में इंटरनेट अतिथि उपयोगकर्ता खाता (IUSR_ [MachineName]) के लिए उचित अनुमतियां बनाने में सक्षम होने के लिए, वहां फ़ाइलों को संशोधित करें और हटाएं।
OleDb कनेक्शन स्ट्रिंग:
प्रदाता = Microsoft.Jet.OLEDB.4.0; डेटा स्रोत = C: \ Windows \ अस्थायी \ tmp123.tmp.xls;
विस्तारित गुण = "एक्सेल 8.0; एचडीआर = हाँ; IMEX = 1;"
[ "डेटा स्रोत" ऊपर का श्रेय हर फ़ाइल के लिए बदल जाएगा।]
The stack trace of the exception is: System.Exception: FileParsingFailed ---> System.Data.OleDb.OleDbException: Unspecified error at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.OleDb.OleDbConnection.Open()
वर्कअराउंड:
अब तक, केवल वैकल्पिक हल हम साथ आ सकता है एक iisreset करने के लिए किया गया था (हम आईआईएस में प्रतिदिन एक बार होने के लिए कॉन्फ़िगर किया गया एप्लिकेशन पूल रीसाइक्लिंग भी है, लेकिन यह समस्या तब तक प्रतीत नहीं होती है क्योंकि समस्या कई बार लगातार जारी रहती है)। हालांकि यह करने के लिए एक अच्छी बात नहीं है, इससे और भी बदतर यह है कि हमारे पास उसी वेबसाइट पर अन्य एप्लिकेशन हैं जो आईआईएस को रीसेट करते समय प्रभावित होंगे।
सवाल:
1. हम इस त्रुटि कैसे ठीक करूं, क्योंकि यह कभी कभी होता है और हम एक पैटर्न नहीं दिख रहा है?
2. ओलेडीबी के अलावा सी #/एएसपी.नेट से एक्सेल फ़ाइलों को संसाधित करने के कोई बेहतर (और मुक्त) तरीके हैं? (हम सर्वर पर एमएस ऑफ़िस स्थापित करने के लिए है, क्योंकि यह माइक्रोसॉफ्ट द्वारा अनुशंसित नहीं है नहीं पसंद करते हैं)
हमारी सीमाएं:
1. हम एमएस ऑफ़िस 2003 (.xls) प्रारूप के साथ फंस रहे हैं और करने के लिए स्थानांतरित नहीं कर सकते एमएस ऑफिस 2007 (ओओएक्सएमएल) प्रारूप।
2. कारण हम सीएसवी का उपयोग नहीं करते हैं क्योंकि हमारे पास हमारे डेटा के भीतर कॉमा हो सकता है (अगर हम उद्धरण का उपयोग करते हैं तो भी इससे निपटने का दर्द होता है) और हम अपनी स्प्रेडशीट में कई वर्कशीट का भी उपयोग करते हैं (यह इसके साथ नहीं किया जा सकता है सीएसवी)।
धन्यवाद! :)
अद्यतन:
धन्यवाद, कीथ। यह जेट इंजन के साथ एक समस्या की तरह प्रतीत होता है, लेकिन हम इसका उपयोग (मुफ्त और उपयोग करने में आसान) की कमी के कारण करते हैं।
धन्यवाद, जो। लेकिन हम सीमित बजट पर हैं - इसलिए हम मुख्य रूप से मुफ्त उपकरण/पुस्तकालयों की तलाश में हैं।