2010-10-29 17 views
6

.mdb फ़ाइलों का उपयोग कर बहु-थ्रेडेड (.NET Framework 3.5 SP1 WinForms) डेस्कटॉप एप्लिकेशन चलाने के कई घंटों (~ 6 घंटे Win7 64bit, ~ 24hours WinXP) के बाद बैकएंड मैं निम्नलिखित रनटाइम त्रुटि हो रही है:System.Data.OleDb.OleDbConnectionInternal..ctor: निर्दिष्ट त्रुटि

Exception ->Unspecified error

StackTrace ->

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()

at NetworkManager.SearchInputFileHandler.GetInputRows(SearchProgramTypeEnumeration programType, Int32 startRowNum, Int32 rowsQty, Boolean setupInProgress, Boolean filterOutUninitializedRows)

ऐसा लगता है कि यह एक OleDbProvider बग है।

क्या आपने ऐसा कुछ देखा/अनुभव किया है?

प्रसंग:

(1) मैं विशेष रूप से प्रयोग करते हैं

using (OleDbConnection cnn = new OleDbConnection("{{mymdbConnectionStringHere}}")) {

cnn.Open();

...

}

(2) मैं कुछ चुनिंदा एसक्यूएल भाव में खंड में प्रयोग करते हैं बाहरी एमडीबी तालिकाओं के लिए बात करने के लिए।

मुझे लगता है कि समस्याएं केस (2) के कारण होती हैं। यद्यपि यह अभी भी जांच करने के लिए एक परिकल्पना है (मेरे आवेदन के मूल कोड में कुछ कोड फिक्स की आवश्यकता है, और अब मैं सोच रहा हूं कि यह ठीक करने के लायक होगा, या मुझे बेहतर एमएस एसक्यूएल बैकएंड पर स्विच करना चाहिए।)

धन्यवाद आप।

+0

अधिकतर ओपन() कॉल पर अपवाद हो रहा है, इसलिए अपनी कनेक्शन स्ट्रिंग, डेटाबेस प्रमाण-पत्र आदि को दोबारा जांचें –

+0

निर्दिष्ट त्रुटि .. अस्तित्व में सबसे उपयोगी त्रुटि संदेश होना चाहिए। –

+0

@ ममता दलाल: यदि समस्या कई घंटों के बाद होती है, तो निश्चित रूप से यह कनेक्शन स्ट्रिंग और डेटाबेस प्रमाण-पत्र नहीं है ..मुझे एक ही समस्या है, और मैं समाधान खोजने के लिए भी उत्सुक हूं। – Allie

उत्तर

1

मैंने नमूना परीक्षण आवेदन लिखा है - समस्या .NET System.Data.OleDb के आंतरिक में कहीं भी एक बग के कारण होती है।

टेस्ट VS2008 SP1 समाधान यहाँ प्रकाशित किया जाता है: System.Data.OleDb bug demonstration sample.

+0

यहां तक ​​कि यदि कोई भी इन क्लॉज इस्तेमाल नहीं किया गया है (या लिंक्ड टेबल) तो ओलेडब नमूना एप्लिकेशन मैंने यहां लिखा है लगभग 70,000 कनेक्शन निर्माण/विनाश के बाद विफल रहता है - TestConnection.ERROR: निर्दिष्ट त्रुटि - 2 9/10/2010 22:42:25: 7737. स्टार्टटाइम = 2 9/10/2010 21:59:33, एंडटाइम = 2 9/10/2010 22:42:25, टोटलकाउंट = 69633, एल्स्पेडटाइम = 0.7142 घंटे ... – ShamilS

3

वहाँ इस मुद्दे या अधिक stabe वैकल्पिक हल के लिए समाधान जानने में कोई प्रगति था?

मुझे Excel फ़ाइल पढ़ने के साथ ASP.NET अनुप्रयोग में समान समस्या है। यह केवल उत्पादन वातावरण में दिखाई देता है जहां कई उपयोगकर्ता सर्वर की तरफ विभिन्न एक्सएलएस फाइलों को संसाधित करने का प्रयास करते हैं। रात में आईआईएस सेवा रीसाइक्लिंग के बाद लगभग 200 अनुरोध (एक्सेल खोलने के लिए) हैं जो जेट इंजन को लटकाते हैं। समस्या यह है कि सभी बाद के प्रयास विफल हो जाते हैं इसलिए तर्क दोबारा ज्यादा मदद नहीं करेगा। केवल आईआईएस रीसेट समस्या को ठीक करता है।

जांच मैं वहाँ कई विकल्प लेने के लिए कर रहे हैं बनाया है से:

  1. स्विच अन्य पुस्तकालय के लिए XLS फ़ाइलों को पढ़ने में: एक्सेल OLE स्वचालन - आवश्यकता एक्सेल सर्वर पर स्थापित किया है और कई अनुरोध होने जा करने के लिए होगा एक्सेल प्रक्रिया के कई उदाहरण बनाएं जो स्वीकार्य नहीं है। तृतीय पक्ष लाइब्रेरी - इनमें से कोई भी निःशुल्क है?
  2. अलग प्रक्रिया के लिए एक्सेल प्रोसेसिंग ले जाएं। XML के रूप में किसी अन्य प्रारूप के साथ डेटा एक्सचेंज करें।
  3. OLEDB की संख्या को नियंत्रित करने के लिए कुछ प्रकार के स्मार्ट हैंडलिंग का उपयोग करें और प्रक्रिया में चलने बंद हो जाता है।

कोई विचार?

+0

एक्सएलएसएक्स फ़ाइलों को पढ़ने के लिए ओपनएक्सएमएल एसडीके आज़माएं। – ShamilS

2

मुझे एक ही समस्या थी। आईआईएस में केवल एप्लिकेशन पूल को रेसीलिंग करना मेरे लिए काम करता था।

+0

क्या आपने किसी तरह से हल किया था? –

+0

मेरे लिए भी काम किया! धन्यवाद! –

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