मुझे एक WinForms ऐप पोर्ट करने के लिए कहा गया है जो एक वेबपृष्ठ पर एमवीपी पैटर्न का उपयोग करता है। ऐप, अन्य चीजों के साथ, डेटाटेबल में एक CSV फ़ाइल अपलोड करता है और फिर कुछ काम करता है।डेटा स्रोत नाम नहीं मिला और कोई डिफ़ॉल्ट ड्राइवर निर्दिष्ट नहीं है
CSV फ़ाइल सर्वर ठीक करने के लिए अपलोड की गई है और उसके बाद निम्न कोड
string connectionString = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Extensions=asc,csv,tab,txt;Persist Security Info=False;Dbq=C:\Temp\";
//check that file exists and in correct format
if (File.Exists(this.WorkingFileName))
{
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
// Determine number of rows
string selectCount = "select count(*) from [MyFile.csv]");
using (OdbcCommand command = new OdbcCommand(selectCount, connection))
{
connection.Open();
}
}
}
इस बिंदु पर के साथ पठित मैं त्रुटि मिलती है:
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
अब कोड WinForms में ठीक काम करता है, लेकिन वेब पर विफल रहता है। क्या इस कोड को काम करने के लिए आईआईएस, मेरी कॉन्फ़िगरेशन फ़ाइल या कुछ और में बदलने की आवश्यकता है? या क्या मुझे कुछ और मौलिक करने की ज़रूरत है? जैसे ही WinForms संस्करण, के रूप में 32-बिट चल रहा था के रूप में मैं इसे 64-बिट के लिए बदल दिया यह एक ही त्रुटि फेंक दिया:
अद्यतन
ठीक तो मैं बाहर काम क्या मेरे दो कोड संस्करणों के बीच अलग था । देखें: 32-bit Text drivers (Microsoft Access , Microsoft Excel and Text files) from a 64 bit application on windows 7
चीजों को ठीक करने के लिए मैंने http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255 से एक्सेस 64-बिट ड्राइवर स्थापित किए हैं, लेकिन मुझे अभी भी वही त्रुटि मिलती है।
अगर मैं अपने ODBC डेटा स्रोत व्यवस्थापक जाँच मैं "माइक्रोसॉफ्ट एक्सेस पाठ ड्राइवर देख सकते हैं (* .txt, * .csv) | 14.00.47600.1000 | माइक्रोसॉफ्ट कार्पोरेशन | ACEODBC.dll
तो यह वे की तरह दिखता है ' ठीक से स्थापित किया गया है, तो यह अभी भी असफल क्यों होगा?
मैं यह नहीं कह रहा हूं कि यह आपके लिए एक विकल्प था (आपने आवश्यकता को पुष्टि या अस्वीकार नहीं किया था), लेकिन 32 बिट पर वापस लात मारने के बारे में क्या? आईआईएस 7+ मानते हुए, क्या आपने 32-बिट अनुप्रयोग मोड सक्षम करने में ऐप पूल चलाने का प्रयास किया था? मेरी मशीन पर काम करता है! :) – mlhDev
हाँ, मेरी आवश्यकता 64 बिट वेब सर्वर – openshac
ब्रावो पर काम करने के लिए थी! मैं इस मुद्दे के साथ हफ्तों तक संघर्ष कर रहा हूं जब तक कि मुझे आपका समाधान नहीं मिला। –