এক্সেল "বাহ্যিক সারণী প্রত্যাশিত বিন্যাসে নেই।"


162

আমি নীচে দেখানো কোডটি ব্যবহার করে একটি এক্সেল (xlsx) ফাইলটি পড়ার চেষ্টা করছি। আমি একটি "বহিরাগত টেবিল প্রত্যাশিত বিন্যাসে নেই।" এক্সেলটিতে ফাইলটি ইতিমধ্যে খোলা না থাকলে ত্রুটি অন্য কথায়, আমার সি # প্রোগ্রাম থেকে পড়তে পারার আগে আমাকে প্রথমে এক্সলে ফাইল খুলতে হবে। Xlsx ফাইলটি আমাদের নেটওয়ার্কের একটি অংশে রয়েছে। ফাইলটি না খোলার আগে আমি কীভাবে পড়তে পারি? ধন্যবাদ

string sql = "SELECT * FROM [Sheet1$]";
string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"";

using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {
    DataSet ds = new DataSet();
    adaptor.Fill(ds);
}

FWIW আমি এটি একটি এক্সেল শীটে পেয়েছি, এটি খোলার চেষ্টা করার সময় আমি বর্তমান এসিই এবং প্রস্তাবিত বর্ধিত বৈশিষ্ট্যগুলি ব্যবহার করছি। আমি যখন ম্যানুয়ালি ফাইলটি খুললাম, সম্পাদনা সক্ষম করার জন্য এটিটির শীর্ষে প্রম্পট ছিল, আমাকে কীভাবে স্বয়ংক্রিয়ভাবে এই বিটটি ফ্লিপ করতে হবে তা বাছাই করতে হবে, তবে আপনি যদি এটি পেয়ে থাকেন তবে আপনাকে কেবল ফাইলটি খোলার প্রয়োজন হতে পারে, এবং সম্পাদনা সক্ষম করতে হবে । আমি কেবল ফাইলটি কেবল পঠনযোগ্য ফাইলটি খুলতে পারি কিনা তা দেখতে সন্ধান করতে পারি, আমি এই থ্রেডটিতে খুব নীচে কিছু দেখেছি।
জেফ প্যাটন

উত্তর:


246

"বাহ্যিক সারণী প্রত্যাশিত বিন্যাসে নেই।" সাধারণত একটি এক্সেল 2007 ফাইল ব্যবহার করার সময় এমন সংযোগের স্ট্রিং ব্যবহার করে যা ব্যবহার করে: মাইক্রোসফ্ট.জেট.ওএলডিবি.4.0 এবং বর্ধিত বৈশিষ্ট্য = এক্সেল 8.0

নিম্নলিখিত সংযোগের স্ট্রিংটি ব্যবহার করা বেশিরভাগ সমস্যার সমাধান বলে মনে হচ্ছে।

public static string path = @"C:\src\RedirectApplication\RedirectApplication\301s.xlsx";
public static string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";

10
হাস্যকরভাবে, আমি এই ত্রুটিটি অন্য কারও অ্যাপ্লিকেশন (সাবস্ক্রাইব) থেকে পেয়েছি, তবে ব্যাখ্যাটি এখনও আমার পক্ষে সমস্যার সমাধান করেছে: এক্সেল 97-2003 হিসাবে "সংরক্ষণ করুন" এবং ত্রুটি স্থির হয়েছে fixed
জেফ ডেভিস

4
.xlsx বা .xls এক্সটেনশন?
এফএটিবালুন

3
আপনাকে প্রথমে এটি ইনস্টল করতে হতে পারে: মাইক্রোসফট
/en-us/download/confirmation.aspx?id=23734

11
এটি অবিশ্বাস্য হতে পারে তবে আমি কেবল শীটটির নামটি সমস্ত ছোট হাতের অক্ষরে পরিবর্তন করি এবং শীট 1 ব্যবহার করি
স্মিথ

3
আমি লিনকটোএক্সেল ব্যবহার করছি, এবং সেই ক্যোরিয় স্ট্রিংটি ব্যবহার করতে লিনকটোএক্সেল পেতে, আমাকে ফাইলটির নাম পরিবর্তন করতে হবে এক্সএলএসএক্স। প্রশ্নের স্প্রেডশিটটি সত্যই একটি এক্সেল spread৯ স্প্রেডশিট, তবে ওএসবিসি সরবরাহকারী এ সম্পর্কে যত্ন নেবেন বলে মনে হয় না। আমি একবার লিনকটোএক্সেলকে সঠিক ক্যোয়ারী স্ট্রিংটি ব্যবহার করার জন্য চালিত করলে, সরবরাহকারী দৃশ্যত ফাইলটির এক্সটেনশনের বাইরে ফাইলটি কীভাবে পড়বেন তা নির্ধারণ করে। আমার ক্ষেত্রে সুবিধাজনক লুফোল।
টিম কোকার

26

এই কোডটির জন্য ধন্যবাদ :) আমি সত্যিই এটির প্রশংসা করি। আমার জন্য কাজ কর.

public static string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";

সুতরাং আপনার যদি এক্সেল ফাইলের ভিন্ন সংস্করণ থাকে তবে ফাইলটির নাম পান, যদি এর এক্সটেনশন .xlsx হয় তবে এটি ব্যবহার করুন:

Private Const connstring As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";

এবং যদি এটি .xls হয় তবে ব্যবহার করুন:

Private Const connstring As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" + path + ";Extended Properties=""Excel 8.0;HDR=YES;"""

5
এফওয়াইআই: আপনি যদি .xlsকোনও পিসিতে কোনও জেট ওলেডিবি ইনস্টল না করে এমন কোনও ফাইল খোলার চেষ্টা করেন তবে এটি একটি ওলডিবিএক্সসেপশন নিক্ষেপ করবে।
jp2code

@ ট্রেক্স আপনি কি নিশ্চিত আপনার কোডের শেষ লাইনটি সঠিক? আপনি আবার কিছু সম্পাদক এ এটি পরীক্ষা করতে পারেন?
জোগি

15

(মন্তব্য করার মতো আমার খুব কম খ্যাতি রয়েছে, তবে এটি জোশকাবার প্রবেশের বিষয়ে মন্তব্য, এক্সেল 2007 এর জেটের পরিবর্তে এস-ইঞ্জিন ব্যবহার করে)

আপনার মেশিনে যদি এস ইনস্টল / নিবন্ধিত না থাকে তবে আপনি এটি এখানে পেতে পারেন: https://www.microsoft.com/en-US/download/details.aspx?id=13255

এটি এক্সেল 2010 এর জন্যও প্রযোজ্য।


আমার এসি ইঞ্জিন ইনস্টল করা আছে তবে আমার প্রজেক্টে দ্বিতীয়টি কী রেফারেন্স অন্তর্ভুক্ত করতে হবে তা জানতে হবে যাতে আমার ইনস্টলারটি এতে অন্তর্ভুক্ত থাকে। আমার অ্যাপ্লিকেশন ইনস্টল করা সমস্ত মেশিনে অগত্যা এমএস অফিস ইনস্টল করা থাকবে না।
jp2code

1
লিঙ্কটি এখন একটি ত্রুটি বার্তা দেয় - We're sorry, this download is no longer available
আরবিটি

9

শুধু আমার মামলা যুক্ত করুন। আমার এক্সএলএস ফাইলটি একটি ওয়েবসাইট থেকে ডেটা রফতানি ফাংশন দ্বারা তৈরি করা হয়েছিল, ফাইলটি এক্সটেনশানটি এক্সএলএস, এটি সাধারণত এমএস এক্সেল 2003 দ্বারা খোলা যেতে পারে But বাহ্যিক সারণী প্রত্যাশিত বিন্যাসে নেই "ব্যতিক্রম।

অবশেষে, সমস্যাটি যেমন ব্যতিক্রমগুলি বলেছিল, "এটি প্রত্যাশিত বিন্যাসে নেই"। যদিও এটির এক্সটেনশনের নামটি এক্সএলএস, তবে আমি যখন এটি কোনও পাঠ্য সম্পাদক দিয়ে খুলি, এটি আসলে একটি সুসংহত এইচটিএমএল ফাইল, সমস্ত ডেটা একটি <টেবিল> এ থাকে, প্রতিটি <tr> একটি সারি এবং প্রতিটি <td> হয় কক্ষ। তারপরে আমি মনে করি আমি এটি এইচটিএমএল উপায়ে পার্স করতে পারি।


এটি আমার ক্ষেত্রেও ছিল, তবে আমার ফাইলটি আসলে একটি এক্সএমএল ছিল। তবুও ওবিডিসি ব্যবহার করে কীভাবে এটি আমদানি করা যায় তা জানতে পেরে ভাল লাগবে তবে আমি এটির সমর্থিত
ডেভিড রজারস 21

@ ডেভিডরোজার্স, আমি কখনই এক্সএমএল ওডিবিসি ড্রাইভারের মতো কিছু দেখেছি, তবে কখনও ব্যবহার করা হয়নি, আপনার সিডিটা . com/drivers/xML/odbcনজর দেওয়া উচিত
জোসেফ ডিং

এখানে একই ঘটনা, আমি অনুমান করি যে জাদুটি নোটপ্যাড দিয়ে ফাইলটি খোলার সময় শুরু হয়েছিল, আসলে আমি আপনার উত্তরটি ভোটাভুটি করছি কারণ এখন পর্যন্ত আপনার পোস্টটি দেখার জন্য আমি নীচে স্ক্রোল করি নি (এবং এখন আমি ইতিমধ্যে ফাইলটি খোলে / পার্স করেছি) এইচটিএমএল অ্যাগিলিটি প্যাক সহ ...) তবে আপনার উত্তরটি শীর্ষে থাকা উপযুক্ত, খাঁটি যুক্তি দিয়ে: ফাইলটি খুলুন প্রথম! এবং দেখুন এটির ভিতরে কোনও এক্সেল-ইশ ফাইল-স্টাইল রয়েছে কিনা!
গ্যাব্রিয়েল জি

যদি এটি কোনও এইচটিএমএল ফাইল হয় তবে কেবল প্রসারিত বৈশিষ্ট্যগুলি সহজেই প্রয়োগ করুন:Extended Properties=""HTML Import;HDR=No;IMEX=1
নেপালুজ ২

4

আমারও একই সমস্যা ছিল। যা এই পদক্ষেপগুলি ব্যবহার করে সমাধান হয়েছে:

1.) ফাইল ক্লিক করুন

২) "হিসাবে সংরক্ষণ করুন" নির্বাচন করুন

৩) ড্রপ ডাউন ক্লিক করুন (টাইপ হিসাবে সংরক্ষণ করুন)

এখানে চিত্র বর্ণনা লিখুন

৪) এক্সেল নির্বাচন করুন 97-2003 ওয়ার্কবুক

এখানে চিত্র বর্ণনা লিখুন

৫) Save বাটনে ক্লিক করুন

এখানে চিত্র বর্ণনা লিখুন


1
ছি! পুরানো ফাইল ফর্ম্যাটে ফিরে যাওয়া এমনকি বিবেচনা করা উচিত নয়। এই উত্তরের সময়, 97-2003 ফর্ম্যাটটি 16 বছরের পুরানো এবং 12 বছর পুরানো। আমি কয়েক বছর বুঝতে পারি, তবে এক দশকেরও বেশি পুরানো কোনও পেশাদার বিকাশকারীকে এই ফাইল ফর্ম্যাটটি আরও পুরানো হওয়া উচিত বলে পরামর্শ দেওয়া উচিত নয়।
লেমিয়ার্তি

3

আমার এই একই সমস্যা ছিল (ACE.OLEDB ব্যবহার করে) এবং আমার জন্য কী সমাধান হয়েছিল তা এই লিঙ্কটি ছিল:

http://support.microsoft.com/kb/2459087

এর সংক্ষিপ্তসারটি হ'ল একাধিক অফিস সংস্করণ এবং বিভিন্ন অফিসের এসডিকে, অ্যাসেম্বলি ইত্যাদির ইনস্টল করার ফলে ACOleDB.dll রেফারিতে রেফারিতে OFFICE14 এর পরিবর্তে OFFICE12 ফোল্ডারের দিকে ইঙ্গিত করা হয়েছিল

সি: \ প্রোগ্রাম ফাইলগুলি \ প্রচলিত ফাইল \ মাইক্রোসফ্ট শেয়ার করা F অফিস 14 \ এসিইওএলডিবি.ডিএলএল

লিঙ্ক থেকে:

বিকল্পভাবে, আপনি আপনার অ্যাক্সেস সংস্করণটির সাথে মিলে যেতে dll পাথ পরিবর্তন করে রেজিস্ট্রি কীটি সংশোধন করতে পারেন।

অ্যাক্সেস 2007-এ অফিশ 12, অ্যাক্সেস 2010 - অফিস 14 এবং অ্যাক্সেস 2013 - অফিস 15 ব্যবহার করা উচিত

(ওএস: bit৪ বিট অফিস: bit৪ বিট) বা (ওএস: 32 বিবিট অফিস: 32 বিট)

কী: এইচকেসিআর \ সিএলএসআইডি {3BE786A0-0366-4F5C-9434-25CF162E475E \ prপ্রপস সার্ভার 32

মান নাম: (ডিফল্ট)

মান ডেটা: সি: \ প্রোগ্রাম ফাইলগুলি \ প্রচলিত ফাইলগুলি \ মাইক্রোসফ্ট শেয়ার করা F অফিস 14 \ এসিইএলডিবি.ডিএলএল

(ওএস: 64 বিট অফিস: 32 বিট)

কী: এইচকেসিআর \ বাহ 6432 নোড \ সিএলএসআইডি {3BE786A0-0366-4F5C-9434-25CF162E475E \ prপ্রপস সার্ভার 32 \

মান নাম: (ডিফল্ট)

মান ডেটা: সি: \ প্রোগ্রাম ফাইল (x86) \ প্রচলিত ফাইলগুলি \ মাইক্রোসফ্ট শেয়ার করা \ অফিস 14 \ এসিইএলডিবি.ডিএলএল


আমি কেবল প্রোগ্রাম এবং বৈশিষ্ট্য এবং মেরামত এসিইতে যাওয়া সহজ মনে করেছি। (আমার জন্য, এসিইর নাম দেওয়া হয়েছে মাইক্রোসফ্ট অ্যাক্সেস রানটাইম 2016)। আমি ধরে নিই যে আমার সমস্যার এই বৈকল্পিকতা ছিল এবং আমি রিজেডিট ;-) নিয়ে বিরক্ত না করে মেরামতটি কেবলমাত্র আমার জন্য সমস্ত রেজিস্ট্রি কী পুনরায় সেট করে।
বিনকি

2

আমদানি করা শীটটিতে জটিল INDIRECT () সূত্র ব্যবহার করার চেষ্টা করার সময় আমি এই ত্রুটিটিও দেখেছি। আমি এটি লক্ষ্য করেছি কারণ দুটি ওয়ার্কবুকের মধ্যে এটিই ছিল কেবল যেখানে আমদানি করা হয়েছিল এবং অন্যটি ছিল না। উভয়ই 2007+ .XLSX ফাইল এবং 12.0 ইঞ্জিন ইনস্টল করা হয়েছিল।

আমি নিশ্চিত করেছি এটি দ্বারা সমস্যাটি:

  • ফাইলটির একটি অনুলিপি তৈরি করা (এখনও সমস্যাটি ছিল তাই এটি কিছুটা সংরক্ষণের মতো পার্থক্য ছিল না)
  • অপ্রত্যক্ষ সূত্রগুলি সহ শীটের সমস্ত কক্ষ নির্বাচন করা
  • কেবল মান হিসাবে আটকানো

এবং ত্রুটি অদৃশ্য হয়ে গেছে।


2

আমি তৃতীয় পক্ষ এবং একটি এক্সএলএসএক্স ওয়ার্কবুকটি ওলেদব পড়ার সাথে ত্রুটি পেয়েছিলাম। সমস্যাটি একটি গোপন ওয়ার্কশিট হিসাবে উপস্থিত হয়েছে যা ত্রুটির কারণ ঘটায়। ওয়ার্কশিটটি না দেখিয়ে ওয়ার্কবুকটি আমদানি করতে সক্ষম করে।


2

যদি ফাইলটি কেবল পঠনযোগ্য হয় তবে কেবল এটি সরিয়ে ফেলুন এবং এটি আবার কাজ করা উচিত।


1

একই ইস্যুতে দৌড়ে এই থ্রেডটি খুঁজে পেয়েছে। 17 এপ্রিল '13 এ স্বীকৃত উত্তরের জন্য @ স্মিথের মন্তব্য ব্যতীত উপরের কোনও পরামর্শই সহায়ক হয়নি helped

আমার ইস্যুর পটভূমিটি @ zhiyazw এর যথেষ্ট কাছে - মূলত dtsx প্যাকেজের ডেটা উত্স হিসাবে রফতানি এক্সেল ফাইল (আমার ক্ষেত্রে এসএসআরএস) সেট করার চেষ্টা করছে। কিছুটা ঘোরাঘুরি করার পরে, আমি যা করেছি তা কার্যপত্রকের নামকরণ করছিল। @ স্মিথের পরামর্শ অনুসারে এটিকে ছোট হাতের দরকার হবে না।

আমি মনে করি ACE OLEDB এক্সেল ফাইলটি একটি নির্দিষ্ট এক্সএমএল কাঠামো অনুসরণ করবে বলে আশাবাদী তবে কোনওভাবে পরিষেবার প্রতিবেদনগুলি সে সম্পর্কে অবগত নয়।


আমি টেবিল একই ইস্যুতে দৌড়ে প্রত্যাশিত বিন্যাসে না। আমি যাচাই করেছি যে আমার ওয়ার্কবুকের কোনও গোপন পত্রক নেই। ওয়ার্কবুকের আসল ওয়ার্কশিটের নাম মূলধনযুক্ত তবে সি # কোডে আমি যুক্ত করা ফাইলটি পার্স করতে পারি। ধন্যবাদ!
vvvv4d

1

এই এক্সেল ফাইল ঠিকানার একটি ভুল এক্সটেনশন থাকতে পারে। আপনি এক্সটেনশনটি xls থেকে xlsx বা এর বিপরীতে পরিবর্তন করতে পারেন এবং আবার চেষ্টা করতে পারেন।


0

ফাইলটি অন্য কোনও প্রক্রিয়া দ্বারা লক হয়ে থাকতে পারে, আপনাকে এটিকে অনুলিপি করতে হবে এবং তারপরে এটি পোস্টের লিখিত হিসাবে লোড করতে হবে



0

এই সমস্যাটিতে আমার সমাধানটি যুক্ত করুন। আমি ওয়েবসার্ভারে .xlsx ফাইলটি আপলোড করছিলাম, তারপরে পড়ছিলাম এবং এসকিউএল সার্ভারে বাল্ক সন্নিবেশ করছিলাম। এই একই ত্রুটি বার্তা পেয়েছিল, প্রস্তাবিত সমস্ত উত্তর চেষ্টা করেও কোনওটিই কার্যকর হয়নি। অবশেষে আমি ফাইলটি এক্সেল -2৯-২০০৩ (.xls) হিসাবে সংরক্ষণ করেছি যা কাজ করেছে ... কেবলমাত্র আমার এখন সমস্যাটি হ'ল মূল ফাইলটিতে ১১০,০০০+ সারি ছিল।


0

যদি আপনার এখনও এই সমস্যাটি থেকে থাকে তবে আপনার অনুমতিগুলি পরীক্ষা করুন, আমি এই পরামর্শগুলির অনেকগুলি চেষ্টা করেছিলাম এবং আমার কংক্রিট সমস্যাটি হ'ল যে ফাইলটি আমি প্রক্রিয়া করতে চেয়েছিলাম সেটি উত্স নিয়ন্ত্রণে ছিল এবং থ্রেডের কোনও অনুমতি নেই, আমাকে পুরো ফোল্ডারের অনুমতিগুলি পরিবর্তন করতে হয়েছিল এবং এটি কাজ করা শুরু করেছিল (আমি সেখানে অনেকগুলি ফাইল প্রক্রিয়াজাত করছিলাম) ... এটি ফাইলের নাম পরিবর্তন করা বা ফাইলটি অন্য কোনও প্রক্রিয়া দ্বারা অজানা নয় কিনা তা পরীক্ষা করার মতো অনেক পরামর্শের সাথে মেলে।

আমি এটি আপনাকে সাহায্য করে আশা করি।


0

আমি এই সমস্যা এবং HTML আমদানি করতে সম্প্রসারিত প্রোপার্টি পরিবর্তন অনুযায়ী এটি সংশোধন করা হয়েছে এই মার্কাস Miris দ্বারা পোস্ট:

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & importedFilePathAndName _
         & ";Extended Properties=""HTML Import;HDR=No;IMEX=1"";"

0

ওলেডিবির পরিবর্তে, আপনি এক্সেল ইন্টারপটি ব্যবহার করতে পারেন এবং কেবলমাত্র পঠনযোগ্য হিসাবে কার্যপত্রকটি খুলতে পারেন।

https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.workbooks.open(v=office.15).aspx


5
এক্সেল ইন্টারপ এক্সেলের সাথে কাজ করার প্রস্তাবিত পদ্ধতি নয়। এটি অনেক সমস্যার কারণ হতে পারে এবং তাই এটির প্রস্তাব দেওয়া উচিত নয়।
ম্যাক্সওভারড্রভ

যদিও এটি একটি পুরানো পোস্ট, তবে আমি ম্যাক্সওভারড্রভের সাথে একমত, ইন্টারপ ব্যবহার করা ভাল ধারণা নয় এবং এড়ানো উচিত, যদি অন্য কোনও কারণে এটির জন্য সার্ভারে এক্সেলের সম্পূর্ণ ইনস্টল প্রয়োজন হয় না।
লেমিয়ার্টি

আপনার একেবারে এটি করা উচিত নয়।
সোভেম্প

0

এসি সুপারিস্টেড জেটি করেছে

এস অফিসের সমস্ত পূর্ববর্তী সংস্করণ সমর্থন করে

এই কোডটি ভাল কাজ করে!

        OleDbConnection MyConnection;
        DataSet DtSet;
        OleDbDataAdapter MyCommand;
        
        MyConnection = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..\\Book.xlsx;Extended Properties=Excel 12.0;");
        MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
        DtSet = new System.Data.DataSet();
        
        MyCommand.Fill(DtSet);
        dataGridView1.DataSource = DtSet.Tables[0];
        MyConnection.Close();

1
এটা না. সমস্যাটি এখনও দেখা দিতে পারে, কেন আমি এখনও এটি খুঁজে পাইনি যেহেতু আমার ফাইলগুলি সমস্ত এক্সেল 2007 থেকে এসেছে এবং এর মধ্যে কিছু কাজ করে, কিছু তাদের কাজ করে না।
হেনরিক

এই দাবির জন্য আপনার কি কোনও উত্স আছে? আমি নিজেকে জানি না, শুধু ভাবছি। :-)
মিডরিহা_সেনপাই

0

ওয়ার্কবুকটি পাসওয়ার্ড-সুরক্ষিত থাকলে এটি ঘটতে পারে। এই সুরক্ষাটি অপসারণ করার জন্য কিছু কার্যকারিতা রয়েছে তবে আপনি অনলাইনে পাবেন এমন উদাহরণগুলির বেশিরভাগ পুরানো। যে কোনও উপায়ে, সহজ সমাধানটি হ'ল ওয়ার্কবুকটি ম্যানুয়ালি অরক্ষিত করা, অন্যথায় প্রোগ্রামিয়ালি সুরক্ষা অপসারণ করতে ওপেনএক্সএমএল এর মতো কিছু ব্যবহার করুন।


0

আমি সম্প্রতি এই ত্রুটিটি এমন একটি প্রসঙ্গে দেখেছি যা আগের তালিকাভুক্ত উত্তরগুলির সাথে মেলে না। এটি অটোওয়ারের সাথে বিরোধ হিসাবে দেখা দিয়েছে । কার্যকারণ: অটোয়ার অস্থায়ীভাবে অক্ষম করুন।


0

আমি সম্প্রতি এই "সিস্টেম.ডাটা.অলেডিবি.ওলেডিবিএক্সসেপশন (0x80004005) পেয়েছিলাম: বাহ্যিক সারণী প্রত্যাশিত বিন্যাসে নেই" " ত্রুটি দেখা দেয়। আমি মাইক্রোসফ্ট অ্যাক্সেস 2010 রানটাইমের উপর নির্ভর করছিলাম। আপডেটের আগে যা 12 ডিসেম্বর 2018 এ আমার সার্ভারে স্বয়ংক্রিয়ভাবে ইনস্টল করা হয়েছিল আমার সি # কোডটি Microsoft.ACE.OLEDB.12.0 সরবরাহকারী ব্যবহার করে দুর্দান্ত চলেছে। 12 ই ডিসেম্বর 2018 থেকে আপডেটটি ইনস্টল হওয়ার পরে আমি আমার লগ ফাইলে "বাহ্যিক টেবিলটি প্রত্যাশিত বিন্যাসে নেই" পেতে শুরু করি।

আমি মাইক্রোসফ্ট অ্যাক্সেস 2010 রানটাইম খাঁজ করে মাইক্রোসফ্ট অ্যাক্সেস 2013 রানটাইম ইনস্টল করেছি এবং আমার সি # কোডটি কোনও "সিস্টেম.ডাটা.অলডিবি.অলেডিবিএক্সসেপশন (0x80004005) ছাড়াই আবার কাজ শুরু করেছে: বাহ্যিক সারণী প্রত্যাশিত বিন্যাসে নেই" " ত্রুটি।

২০১৩ সংস্করণ যা আমার জন্য এই ত্রুটিটি স্থির করেছে https://www.microsoft.com/en-us/download/confirmation.aspx?id=39358

2010 এর সংস্করণ যা আপডেটের আগে আমার জন্য কাজ করেছিল যা 12 ডিসেম্বর আমার সার্ভারে স্বয়ংক্রিয়ভাবে ইনস্টল হয়েছিল। https: //www।

একটি স্বয়ংক্রিয় প্রক্রিয়াতেও আমি গত মাসে এই ত্রুটিটি পেয়েছি। সি # কোডটি ঠিকঠাক হয়ে গেলে আমি এটিকে ডিবাগিংয়ে চালিত করি। আমি দেখতে পেয়েছি যে কোডটি চালিত পরিষেবা অ্যাকাউন্টটির সি: \ উইন্ডোজ \ টেম্প ফোল্ডারটিরও অনুমতি প্রয়োজন।


0

আমার সুযোগটি টেমপ্লেট ডাউনলোড নিয়ে গঠিত এবং টেমপ্লেটটি ডেটা ভরা হলে তা যাচাই করে So

1) শিরোনাম সারি সহ একটি টেম্পলেট (.xlsx) ফাইল ডাউনলোড করুন। ফাইলটি ওপেনএক্সএমএল ব্যবহার করে তৈরি করা হয়েছে এবং এটি পুরোপুরি কাজ করছে।

2) ডাউনলোড ফাইল থেকে কোনও পরিবর্তন ছাড়াই একই ফাইলটি আপলোড করুন। এটি সংযোগ ত্রুটির কারণ এবং ব্যর্থ হবে (ওএইলডিবি সংযোগটি এক্সেল শিটটি পড়ার জন্য ব্যবহার করছে)।

এখানে ডেটা পূরণ করা হলে প্রোগ্রামটি প্রত্যাশার মতো কাজ করে।

সমস্যাটি রয়েছে এমন যে কেউ এই ফাইলটি XML ফর্ম্যাটে তৈরি করছে তার সাথে আমরা যদি এটি খুলি এবং কেবল এটিকে এক্সেল বিন্যাসে রূপান্তর করি এবং এটি ভালভাবে কাজ করে তবে এটি সংযুক্ত।

পছন্দের ফাইল টাইপ সহ এক্সেল ডাউনলোড করার কোনও ধারণা?


আপনার প্রশ্নের উত্তরগুলি আপনার জিজ্ঞাসা করা উচিত নয়, যদি আপনার প্রশ্নের উত্তর প্রয়োজন হয় তবে প্রয়োজনে তাদের আলাদা করে জিজ্ঞাসা করুন।
অভিষেক গার্গ

0

কিছু পুরানো কোড নিয়ে কাজ করা এবং এটি একই জেনেরিক ব্যতিক্রম জুড়ে। ইস্যুটি সন্ধান করা খুব কঠিন, তাই আমি ভেবেছিলাম যে এটি যদি অন্য কাউকে সহায়তা করে তবে আমি এখানে যুক্ত করব।

আমার ক্ষেত্রে, প্রকল্পের অন্য কোথাও কোড ছিল যা ওলেডিবি সংযোগ ফাইলটি খোলার চেষ্টা করার আগে এক্সেল ফাইলে একটি স্ট্রিমরিডার খুলছিল (এটি একটি বেস শ্রেণিতে করা হয়েছিল)।

সুতরাং মূলত আমার Close()প্রথমে স্ট্রিমরিডার অবজেক্টটিতে কল করা দরকার ছিল , তারপরে আমি ওলিডিবি সংযোগটি সফলভাবে খুলতে পারি। এটির এক্সেল ফাইল নিজেই বা ওলেডিবি সংযোগ স্ট্রিংয়ের সাথে (যা স্বাভাবিকভাবেই যেখানে আমি প্রথমে তাকিয়ে ছিলাম) এর সাথে কিছুই করার ছিল না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.