Microsoft.Jet.OLEDB.4.0 'সরবরাহকারী স্থানীয় মেশিনে নিবন্ধভুক্ত নয়


191

আমি 32 বিট উইন্ডোজ 2008 সার্ভারে .NET 3.5 এ একটি উইন্ডোজ অ্যাপ্লিকেশন তৈরি করেছি। যখন 64৪ বিট সার্ভারে অ্যাপ্লিকেশন মোতায়েন করা হয় তখন এটি ত্রুটিটি দেখায় "মাইক্রোসফ্ট। জেট.ওইলডিবি .৪.০ 'সরবরাহকারী স্থানীয় মেশিনে নিবন্ধভুক্ত নয়"।

সুতরাং এই সমস্যার সমাধান হিসাবে, আমি প্রকল্পের বিল্ড সম্পত্তিটি X86 এ পরিবর্তন করেছি, যাতে এটি 32 বিট মোডে তৈরি করতে পারে এবং 32 বিট মেশিনে প্রকল্পটি পুনর্নির্মাণ করতে পারে। তবে, একই প্রকল্পটি অন্যান্য ডাটাবেসের সাথে সংযোগ রাখতে অন্যান্য ডিবি ড্রাইভার (ডিবি 2, এসকিউএল ইত্যাদি) ব্যবহার করে। সুতরাং আমি যখন আবার আমার অ্যাপ্লিকেশনটিকে bit৪ বিট ওএসে স্থাপন করেছি, তখন এটি ব্যতিক্রম ছুঁড়ে ফেলেছে "32-বিট প্ল্যাটফর্মে একটি 64-বিট অ্যাসেম্বলি লোড করার চেষ্টা করা হয়েছে।"

আমি এক্সেল (.xls) পড়তে এবং লিখতে Microsoft.Jet.OLEDB.4.0 ড্রাইভারটি ব্যবহার করছি

উত্তর:


238

আমি এই সমস্যার সমাধান খুঁজে পেয়েছি। আমার প্রশ্নে আমি যে সমস্যাটি বর্ণনা করেছি তা মূলত মাইক্রোসফ্ট.জেট.ওইলডিবি .৪.০ ড্রাইভারের bit৪ বিট ওএস- এর অসম্পূর্ণতার কারণে ঘটেছিল ।

সুতরাং আমরা যদি .৪ বিট সার্ভারে মাইক্রোসফ্ট.জেট.ওএলইডিবি ৪.০ ড্রাইভার ব্যবহার করি তবে আমাদের অ্যাপ্লিকেশনটি 32 বিট মোডে তৈরি করতে বাধ্য করতে হবে (এই উত্তরটি আমি খুঁজে পেয়েছিলাম যখন আমি এই পরিচিত সমস্যাটির জন্য একটি বিস্তৃত অনুসন্ধান করেছি ) এবং এটি আমার কোডের অন্যান্য অংশকে ভেঙে দেয়।

সৌভাগ্যক্রমে, এখন মাইক্রোসফ্ট একটি 64 বিট সামঞ্জস্যপূর্ণ 2010 অফিস সিস্টেম ড্রাইভার প্রকাশ করেছে যা traditionalতিহ্যবাহী মাইক্রোসফট.জেট.ওএলইডিবি.4.0 ড্রাইভারের প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে। এটি 32 বিট পাশাপাশি 64 বিট সার্ভার উভয় ক্ষেত্রেই কাজ করে। আমি এটি এক্সেল ফাইল ম্যানিপুলেশনের জন্য ব্যবহার করেছি এবং এটি উভয় পরিবেশেই আমার পক্ষে ভাল কাজ করেছে।তবে এই ড্রাইভার বিটাতে আছেন

আপনি এই ড্রাইভারটি মাইক্রোসফ্ট অ্যাক্সেস ডেটাবেস ইঞ্জিন 2010 পুনরায় বিতরণযোগ্য থেকে ডাউনলোড করতে পারেন


6
সেই লিঙ্কটিতে থাকা নির্দেশগুলিতেও বিশেষ মনোযোগ দিন :)
চিহ্নিত করুন

4
আমারো একই ইস্যু ছিল. আমি অ্যাপ্লিকেশন কনফিগারেশনটি x86 এ পরিবর্তন করেছি, তবে এটি কার্যকর হয়েছে!
skpaul

9
এছাড়াও আমাকে মাইক্রোসফ্ট.জেট.ওএলডিবি
.৪.০

16
হ্যাঁ, যদিও একটি -৪-বিট সামঞ্জস্যপূর্ণ অ্যাক্সেস ডেটাবেস ইঞ্জিনটি উপলভ্য রয়েছে তবে এটির জন্য এমএস অফিস পণ্যগুলির কোনও 32-বিট সংস্করণ ইতোমধ্যে সিস্টেমে ইনস্টল করা হয়নি (যেমন 32-বিট এমএস ওয়ার্ড) যা একটি বড় সমস্যা। কাজটি হ'ল আপনি অ্যাক্সেস ডেটাবেস ইঞ্জিন 2010 এর 32-বিট সংস্করণ ব্যবহার করেন এবং আপনার .NET অ্যাপ্লিকেশনটিকে 32-বিট মোডে চালাতে বাধ্য করেন (যেমন কনফিগারেশন ম্যানেজারে x86 প্ল্যাটফর্ম নির্বাচন করে)। এবং সঠিক সমাধানটি এমএস অ্যাক্সেসকে আরও ভাল বিকল্পের সাথে প্রতিস্থাপন করা।
মাসউদ খারী

2
খুব প্রশ্ন: আমি কি এই ড্রাইভারটি "আমার অ্যাপ্লিকেশনের মধ্যে" এর মতো বিতরণ করতে পারি বা আমার অ্যাপ্লিকেশনটি ব্যবহার করতে চায় এমন প্রত্যেক ব্যবহারকারীকে নিজেই এটি ইনস্টল করতে হবে?
philx_x

117

যদি সমস্যাটি এএসপি.এনইটিতে অব্যাহত থাকে, তবে আমার কেবলমাত্র অ্যাপ্লিকেশন পুলের অ্যাডভান্সড সেটিংসে "32-বিট অ্যাপ্লিকেশন সক্ষম করুন" সেটিংসটিকে সত্যে পরিবর্তন করতে হয়েছিল।


আমি 64৪-বিট ওডিবিসি ব্যবহার করছিলাম এবং এই পরিবর্তনটি আমাকে ডাটাবেস ত্রুটি দিতে শুরু করে। আমি যদিও এটি সংশোধন করেছি। যদি কারও সাথে এটির মুখোমুখি হয় তবে আপনাকে 32-বিট ওডিবিসি ড্রাইভার ইনস্টল করতে হবে এবং তারপরে আপনার ডিএসএন তৈরি করতে হবে।
ফারহান হাফিজ

2
এটি এখন পুরোপুরি 64৪-বিট কোডে করা বেশ সম্ভব। নব্যর উত্তরে পুনরায় বিতরণযোগ্য সংযুক্ত করুন , তারপরে ইকবালের উত্তরে প্রস্তাবিত সরবরাহকারী স্ট্রিংটি ব্যবহার করুন । তারপরে এই দুটি উত্তরকেই উজ্জীবিত করুন। এটাই!
রোমান স্টারকভ

এটি আমার জন্য উইন্ডোজ সার্ভার 2008 আর 2-তে 32 বিবিস অ্যাক্সেস ডিবি ইঞ্জিন পুনরায় তালিকা ইনস্টল করার পরে সমস্যার সমাধান করেছে ।
ক্রিস পিকফোর্ড

2
ক্ষতিটি হ'ল পুলটি 32-বিট মোডে চলবে। এটি এড়াতে আমরা পরিবর্তে এসিইতে স্যুইচ করব।
wtjones

উইন্ডোজ ফর্ম পাশাপাশি হিসাবে আমার জন্য কাজ। কোনও
এএসপি.এনইটি

52

আমি একই সমস্যা আছে

Microsoft.Jet.OLEDB.4.0 'সরবরাহকারী স্থানীয় মেশিনে নিবন্ধভুক্ত নয়

আমি উত্তর প্রয়োগ নব্য কিন্তু এটি কাজ না হওয়া পর্যন্ত আমি প্রদানকারী পরিবর্তন না করে "সরবরাহকারীর = Microsoft.ACE.OLEDB.12.0;" সংযোগ স্ট্রিং মধ্যে।

আশা করি কেউ যদি একই সমস্যার মুখোমুখি হয় তবে এটি সহায়তা করবে।


4
এই হল! 64৪-বিট সার্ভারের জন্য, নিও দ্বারা লিঙ্কিত পুনরায় বিতরণযোগ্য ইনস্টল করুন (স্পষ্টতই 64৪-বিট বৈকল্পিক) এবং তারপরে এই উত্তরে বর্ণিত হিসাবে সরবরাহকারীটি পরিবর্তন করুন, তারপরে এটি কার্যকর হবে।
রোমান স্টারকভ

আপনি ঠিক romkyns। আমি ইতিমধ্যে বলেছি আমি নিও সলিউশন প্রয়োগ করেছি, তারপরে সরবরাহকারী পরিবর্তন করে। তবে ধন্যবাদ আপনার মন্তব্য এটি আরও স্পষ্ট করে তোলে। প্রচুর রোমকিন্স ধন্যবাদ
ইকবাল

Microsoft.JE.OLEDB.4.0 কে Microsoft.ACE.OLEDB.12.0 দিয়ে প্রতিস্থাপন করা হয়েছে; app.config এ এবং সবকিছু কাজ করে।
এভিএব্রাহিমি

1
আমি দেখতে পেয়েছি যে এটি কাজ করেছে, 32-বিটের মধ্যে অ্যাপ্লিকেশনকে সীমাবদ্ধ করার সময় কোনও তাত্পর্য নেই।
রায়ান লুন্ডি

আমার ক্ষেত্রে: "Microsoft.ACE.OLEDB.12.0 নিবন্ধিত নেই", :(
César Leon

29

আমি জানি এটি বেশ পুরানো প্রশ্ন এবং অনেক ব্যক্তি উত্তর দিয়েছে। তবে আমি বোঝার জন্য বিষয়গুলি সংক্ষেপ করছি:

যদি ফাইল এক্সটেনশানটি xls হয় এবং ওএস 32 বিট হয় তবে কেবল আপনি " Microsoft.Jet.OLEDB.4.0" ব্যবহার করতে পারবেন । মাইক্রোসফ্ট এই ড্রাইভারের 64 বিট সংস্করণ প্রকাশ করেছে না।

যদি ফাইল এক্সটেনশানটি xlsx হয় বা ওএস 64 বিট হয় তবে আপনাকে অবশ্যই ব্যবহার করতে হবে " Microsoft.ACE.OLEDB.12.0"। 32/64 বিট মোডে সংকলিত অ্যাপ্লিকেশনটি ড্রাইভারের নির্বাচনের উপর প্রভাব ফেলবে না।

সর্বদা Microsoft.ACE.OLEDB.12.0ওএস 64 বিটের 64 বিট ড্রাইভার ইনস্টল করুন driver আপনি যদি ইতিমধ্যে Office 32 বিট ইনস্টল করে থাকেন তবে আপনাকে / প্যাসিভ আর্গুমেন্টের সাথে সিএমডি থেকে ড্রাইভার চালানো দরকার। এই হ্যাকটি কেবলমাত্র অফিস ২০১৩ অবধি কাজ করে, মাইক্রোসফ্ট অফিস থেকে ২০১ work থেকে এই কাজ বন্ধ করে দিয়েছে মাইক্রোসফ্ট.এসিই.ওএলডিবি .১.0.০ ড্রাইভারের জন্য।

AccessDatabaseEngine_x64.exe /passive

ড্রাইভারগুলি Microsoft.ACE.OLEDB.12.0 ডাউনলোড করুন

private void ProcessFile(string path)
{
    string connString = string.Empty;

    if (Path.GetExtension(path).ToLower().Trim() == ".xls" && Environment.Is64BitOperatingSystem == false)
        connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
    else
        connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
}

অ্যাপ্লিকেশনটি যদি কোনও এসসিপিইউ পতাকাযুক্ত সাথে সংকলিত হয় তবে এটি bit৪ বিট ওএসে bit৪ বিট অ্যাক্সেস ড্রাইভার এবং 32 বিট ওএসে 32 বিট অ্যাক্সেস ড্রাইভারের সন্ধান করবে।


1
আপনার উত্তরের জন্য ধন্যবাদ, তবে আমি উইন্ডোজ 10 এ ভিএস2015 ব্যবহার করছি এবং এক্স 64 ব্যবহার করছি। আমি যখন প্রজেক্টের কনফিগারেশনটি কোনও এসিপিইউ থেকে এক্স 86 এ পরিবর্তন করেছি তখন সমস্যাটি চলে গেল। আমার কোনও অতিরিক্ত ড্রাইভার ইনস্টল করতে হয়নি।
NoChance

@ ননচ্যান্স আমি মনে করি আপনি ইতিমধ্যে আপনার মেশিনে অফিস bit৪ বিট ইনস্টল করেছেন এবং এতে ইতিমধ্যে মাইক্রোসফট.এসিই.ওএলডিবি .১১.০ ড্রাইভার রয়েছে।
রোমিল কুমার জৈন

আপনার উত্তরের জন্য Thx, আমার অফিস 2007 আছে।
NoChance

19

আমি একই বার্তাটি পেয়েছি, আমার কাছে ভিজ্যুয়াল স্টুডিও 2010 এর সাথে একটি ওয়েবপৃষ্ঠা আছে, আমি সেই পৃষ্ঠায় একটি ফাইল.এক্সএল পড়ি, আমার প্রকল্পের ভিজ্যুয়ালটিতে কোনও সমস্যা হয় না, যখন আমি আমার আইআইএস-এ রাখি তখন আমাকে একটি 'মাইক্রোসফ্ট' ফেলে দেয় .Jet.OLEDB.4.0 'সরবরাহকারী লোকাল মেশিনে নিবন্ধভুক্ত নয়' , আমি এই পদক্ষেপগুলি অনুসরণ করে পরবর্তী সমস্যাটি স্থির করেছি,

আইআইএস খুলুন
২.- উন্নত সেটিংসে অ্যাপপুলটি পরিবর্তন করুন ৩২-বিট অ্যাপ্লিকেশন সক্ষম করতে
সত্য true এবং যে সব

PS.I কনফিগারেশন ম্যানেজারকে অ্যাক্টিভ সলিউশন প্ল্যাটফর্মে X86 এ পরিবর্তন করে


এটি আপনার অ্যাপ্লিকেশনটিকে 32 বিট মোডে চালিত করতে বাধ্য করে। আপনি 4 জিবি বাধা এড়াতে সক্ষম হতে চাইলে আপনার এই সেটিংটি বন্ধ করা দরকার।
Brain2000

18

যদি আপনার অ্যাপ্লিকেশন লোকালআইআইএসে চলে, আপনি অ্যাপপুলের উন্নত সেটিংসে 32-বিট অ্যাপ্লিকেশনগুলি সক্ষম করে এই সমস্যাটি সমাধান করতে পারেন

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


8

আমারো একই ইস্যু ছিল. আমি অ্যাপ্লিকেশন কনফিগারেশন পরিবর্তন করে x86, তারপর এটি কাজ করে!


কিভাবে এই কনফিগারেশন পরিবর্তন? আমি ওয়েবসাইট টাইপ প্রজেক্ট তৈরি করেছি
শেখার শীট

7

আমি মাত্র আমার প্রকল্পের সম্পত্তিটিকে x64 ফর্ম্যাটে পরিবর্তন করেছি

প্রকল্প ---> সম্পত্তি ---> বিল্ড ---> লক্ষ্য ফ্রেমওয়ার্ক ---> এক্স


5

আমরা ডেস্কটপ অ্যাপ্লিকেশনে এই সমস্যাটি জুড়ে এসেছি।

দেব পরিবেশ: উইন্ডোজ 7 আলটিমেট - 64 বিট। নেট ফ্রেমওয়ার্ক 4.5 সরবরাহকারী = মাইক্রোসফ্ট। জেট.ওএলডিবি .4.0

এটি কোনও সিপিইউ থেকে প্ল্যাটফর্ম টার্গেট X86 এ পরিবর্তন করে সমাধান করা হয়েছে। প্রকল্পের সম্পত্তি >> বিল্ড >> প্ল্যাটফর্মের লক্ষ্য।

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


2

আমি আমার ডেস্কটপ অ্যাপ্লিকেশন ('মাইক্রোসফট.জেট.ওএলডিবি .৪.০' সরবরাহকারী স্থানীয় মেশিনে নিবন্ধীকৃত নেই) নিয়ে এই সমস্যাটিতে এসেছি। আমার কাছে 32 বিট অ্যাপ্লিকেশন হিসাবে তৈরি করার বিকল্প নেই। এটি আশা করা অন্যদেরকেও একই পরিস্থিতিতে সহায়তা করবে।

আমি নিম্নলিখিতটি করলাম এবং সমস্যাটি চলে গেল:

  1. নব্য প্রস্তাবিত মাইক্রোসফ্ট অ্যাক্সেস ডেটাবেস ইঞ্জিন 2010 পুনরায় বিতরণযোগ্য এর 64 বিট সংস্করণ ইনস্টল করেছেন

  2. আমার সরবরাহকারীকে Microsoft.ACE.OLEDB.12.0 এ পরিবর্তন করেছেন B


2

যদিও উপরের পরামর্শ অনুযায়ী আরও অনুকূল সমাধানটি কেবল পুনরায় সংযোগ করা, এর উত্স কোডে অ্যাক্সেস প্রয়োজন। আমার ক্ষেত্রে, আমি কেবল শেষ .exe পেয়েছি এবং এই সমাধানটি ব্যবহার করতে হয়েছিল। এটি CorFlags.exeঅ্যাপ্লিকেশনটির লোডিং বৈশিষ্ট্যগুলি পরিবর্তন করতে। নেট এসডিকে থেকে ব্যবহার করে।

  1. নেট ফ্রেমওয়ার্ক এসডিকে ডাউনলোড করুন (আমি ব্যক্তিগতভাবে 3.5 ব্যবহার করেছি , তবে ব্যবহৃত সংস্করণটি প্রয়োজনীয় বা তার উপরে হওয়া উচিত your আপনার অ্যাপ্লিকেশনটির জন্য নেট।
  2. ইনস্টল করার সময় আপনার যা যা প্রয়োজন তা হ'ল উইন্ডোজ বিকাশ সরঞ্জামগুলিCorLibs.exe কেবল পরীক্ষা করে দেখুন ।
  3. ইনস্টলেশন পরে, আপনার খুঁজে CorFlags.exe। আমার। নেট ফ্রেমওয়ার্ক 3.5 এসডিকে ইনস্টল করার জন্য, এটি ছিল C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
  4. একটি কমান্ড প্রম্পট খুলুন এবং টাইপ করুন path/to/CorFlags.exe path/to/your/exeFile.exe /32Bit+

তুমি করেছ! এটি আপনার প্রোগ্রামের জন্য প্রারম্ভিক পতাকাগুলি সেট করে যাতে এটি 32 বিট ডাব্লুডাব্লু 64 মোডে শুরু হয় এবং অতএব মাইক্রোসফট.জেট.ওলেড বি .৪.০ এ অ্যাক্সেস করতে পারে।


1

আইআইএস সেটিংস অ্যাপ্লিকেশন পুলে উন্নত সেটিংস পরিবর্তন করুন 32 32 বিট অ্যাপ্লিকেশন সক্ষম করুন


1

কেবল আপনার মেশিনের উপর ভিত্তি করে সম্পত্তিটি পরিবর্তন করুন এবং সমস্ত কাজটি করেছেন :-)

প্রকল্প ---> সম্পত্তি ---> বিল্ড ---> লক্ষ্য ফ্রেমওয়ার্ক ---> এক্স

অথবা

প্রকল্প ---> সম্পত্তি ---> বিল্ড ---> লক্ষ্য ফ্রেমওয়ার্ক ---> এক্স 86


1

আমি আমার সংযোগ স্ট্রিং থেকে পরিবর্তন করেছি

var myConnicationString = string. Format ("সরবরাহকারী = মাইক্রোসফট। জেট.ওএইলডিবি .৪.০; তথ্য উত্স = {0}; স্থির সুরক্ষা তথ্য = সত্য; জেট ওএইলডিবি: ডাটাবেস পাসওয়ার্ড =;", গিসডবিপাথ);

এটি:

var myConnicationString = string. Format ("সরবরাহকারী = মাইক্রোসফট। জেট.ওএইলডিবি .৪.০; মোড = ভাগ অস্বীকার করুন কিছুই নয়; ডেটা উত্স = {0}; ব্যবহারকারী আইডি = অ্যাডমিন; পাসওয়ার্ড =;", জিএসডিবিপথ);

এটি কখনও মাইক্রোসফ্টের জন্য জিজ্ঞাসা করেনি তার জন্য কাজ করে et Jet.OLEDB.4.0' নিবন্ধিত।


0

জেটের প্রকৃতপক্ষে কোনও 64 বিট সংস্করণ নেই - এবং কোনও উত্পাদন করার জন্য কোনও পরিকল্পনা নেই (স্পষ্টতই)।

আপনি এসি 64৪ বিট ড্রাইভারটি ব্যবহার করতে সক্ষম হতে পারেন: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=23734

  • তবে আপনার 32 বিট অ্যাপ্লিকেশনগুলির জন্য আপনাকে জেটে ফিরে যেতে হলে এটি কীভাবে কাজ করবে তা আমার কোনও ধারণা নেই।

তবে আপনি এক্সপ্রেস সংস্করণে প্রকল্পটি 32 বিটে স্যুইচ করতে সক্ষম হবেন (আমি চেষ্টা করে দেখিনি এবং 2008 এর কোনও স্বাদে ইনস্টল করা নেই)

সম্ভবত এখন অ্যাক্সেস ডাটাবেসগুলি পুরোপুরি স্ক্র্যাপ করার, বুলেটটি কামড়ানোর পরিবর্তে এসকিউএল সার্ভারে যাওয়ার সময় এসেছে?


0

আমি উইনফর্মগুলির জন্য ভিএস ২০১৩ ব্যবহার করছি, নীচের সমাধানটি আমার পক্ষে কাজ করেছে।


0

আইআইএস-এর পুরানো সংস্করণগুলিতে, আপনাকে নিম্নলিখিত কমান্ডগুলি কার্যকর Advance Settingsকরতে সক্ষম Enable 32-bit Applicationsকরতে এটি খুঁজে পাবেন না :

cscript% SYSTEMDRIVE% \ inetpub \ adminscriptts \ adsutil.vbs SET W3SVC / AppPools / সক্ষম 32bitAppOnWin64 1 সেট করুন

এবং

% SYSTEMROOT%। Microsoft.NET \ ফ্রেমওয়ার্ক \ v2.0.50727 \ aspnet_regiis.exe -i

তথ্যসূত্র: এখানে


0

আমার উইন্ডোজ 8.1 এ "এসকিউএল সার্ভার 2014 ইম্পোর্ট এবং এক্সপোর্ট ডেটা (64-বিট)" চালানোর সময় আমি একই ব্যতিক্রম পাচ্ছিলাম।

এই সমস্যাটি সমাধান করার জন্য আমি নিম্নলিখিতটি করেছি

এসকিউএল সার্ভার 2014 আমদানি ও রফতানি ডেটা (32-বিট) 64-বিটের পরিবর্তে শুরু করেছে এবং এটি আমার পক্ষে কাজ করছে। আমি কোনও আইআইএস সেটিং পরিবর্তন করি নি এবং কোনও অতিরিক্ত সফ্টওয়্যার ইনস্টল করি নি।


0

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

একটি উইন্ডোজ সার্ভার ২০০৮ আর ২ আছে, আমি এক্স 64৪ বিট মেশিনের জন্য অ্যাক্সেস ড্রাইভারগুলি ইনস্টল করি এবং আমি এই বার্তাটি থেকে মুক্তি পেয়েছি, যা আমাকে অন্যটিতে ঝাঁপিয়ে পড়ে খুব খুশি করে।

নীচের এইটি এখানে আমার ডিভাইসটিতে দুর্দান্তভাবে কাজ করে তবে সর্বশেষতম ওডিবিসি ড্রাইভার ইনস্টল করার পরেও সার্ভারে আমাকে একটি ত্রুটি দেয়, যা আমি মনে করি এটিই সমস্যা, তবে এটিই আমি এটি সমাধান করেছি।

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 12

আমি এই ত্রুটি বার্তায় প্রবেশের পরে ত্রুটি: "ইনস্টলযোগ্য ইসমামটি খুঁজে পাওয়া যায়নি" , আমি নীচের মতো জিনিসগুলিকে কিছুটা পরিবর্তন করার সিদ্ধান্ত নিয়েছি:

private const string OledbProviderString =      @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xls;Extended Properties='Excel 8.0;HDR=YES;';"; 

এবং হ্যাঁ, আমি এই বাজে জিনিসটি দিয়েছি, তবে এখানে আমি একটি অন্য বার্তা পেয়েছি মাইক্রোসফ্ট অ্যাক্সেস ডাটাবেস ইঞ্জিন 'টাইম_জোন' ফাইলটি খুলতে বা লিখতে পারে না। এটি ইতিমধ্যে অন্য ব্যবহারকারীর দ্বারা একচেটিয়াভাবে খোলা হয়েছে, বা এর ডেটা দেখার এবং লেখার জন্য আপনার অনুমতি দরকার। যা আমাকে বলে যে এটি সমাধান করা থেকে আমি খুব বেশি দূরে নই।

হতে পারে এর মধ্যে অন্য একটি প্রক্রিয়া রয়েছে যা ইতিমধ্যে ফাইলটি খুলল এবং আমাকে যা করতে হবে তা হ'ল পুনরায় আরম্ভ হবে এবং সমস্ত প্রত্যাশা অনুযায়ী সুচারুভাবে চলতে শুরু করবে।


0

শুরুতে যান -> রান করুন এবং সিএমডি টাইপ করুন এটি কমান্ড প্রম্পট শুরু করে (শুরু-> প্রোগ্রামগুলি থেকে> এক্সেসরিজগুলি> কমান্ড প্রম্পট থেকেও পাওয়া যায়)

সিডি টাইপ করুন .. এবং সিডি টিপুন রিটার্ন করুন .. এবং আবার রিটার্ন টিপুন (প্রম্পটটি প্রদর্শিত না হওয়া অবধি এটি চালিয়ে যান:>)

এখন আপনাকে একটি বিশেষ ফোল্ডারে যেতে হবে যা সি হতে পারে: \ উইন্ডোজ \ সিস্টেম 32 বা এটি সি হতে পারে: nt উইন্ট or সিস্টেম 32 বা এটি সি হতে পারে: \ উইন্ডোজ \ সিএসডাব্লু these৪৪ এর প্রতিটি সিডি সি: \ উইন্ডোজ typ টাইপ করার চেষ্টা করুন sysWOW64 (যদি এটি বলে যে সিস্টেমটি নির্ধারিত পাথটি খুঁজে পাচ্ছে না, তবে পরেরটিটি চেষ্টা করুন) সিডি সি: \ উইন্ডোজ \ সিস্টেম 32 সিডি সি: \ উইন্ট \ সিস্টেম 32 যখন এর মধ্যে কোনও ত্রুটি সৃষ্টি করে না, থামান, আপনি খুঁজে পেয়েছেন সঠিক ফোল্ডার

এখন আপনাকে এই কমান্ডগুলি টাইপ করে এবং প্রতিটিের পরে রিটার্ন টিপে OLE DB 4.0 DLL গুলি রেজিস্ট্রেশন করতে হবে

regsvr32 Msjetoledb40.dll regsvr32 Msjet40.dll regsvr32 Mswstr10.dll regsvr32 Msjter40.dll regsvr32 Msjint40.dll


-2

জেটের জন্য কোনও 64 বিট সরবরাহকারী নেই। আপনি যদি জেট থেকে এক্সেল সহ একাধিক ডিবি উত্সকে সমর্থন করতে চান তবে 32 বিট প্রক্রিয়াতে চালিত হওয়ার জন্য আপনার অ্যাপ্লিকেশনটির কমপক্ষে সেই অংশের প্রয়োজন হবে।

আপনি x86 এর জন্য সংকলন করার সময় যে ত্রুটিটি পাচ্ছেন তা খানিকটা আশ্চর্যের। আমি দেখতে পাচ্ছি না আপনি কীভাবে এই ক্ষেত্রে bit৪ বিট অ্যাসেমব্লিগুলি উল্লেখ করবেন।


অ্যান্টনি, আমি কীভাবে 32 বিট মোডে চলার জন্য কোনও প্রকল্পের কিছু অংশ তৈরি করতে পারি? এক্সেল সহ এই সমস্ত ডিবি সংযোগগুলি একটি প্রকল্পের আওতায় আসবে। এছাড়াও আমি x86 এ ত্রুটি পেয়েছি, যখন আমি এটি 64 বিট ওএসে চালানোর চেষ্টা করি। আমি মনে করি এটি কারণ bit৪ বিট ওএস-এ ইনস্টল করা ডিবি 2 ড্রাইভারটি একটি bit৪ বিট সংস্করণ এবং যখন অ্যাপ্লিকেশন থেকে এটি পুনরায় প্রকাশ করা হয়, যা 32 বিট মোডে চালানোর জন্য কনফিগার করা হয়েছে, ত্রুটির কারণ ঘটায়।
নিও

যদি প্রকল্পটিকে মাল্টিপ এক্সে বিভক্ত করা হয় তবে এটির দামের চেয়ে বেশি ঝামেলা হয় কেবলমাত্র 32 বিটের সাথে সংকলন করে। ডিবি 2 ইস্যু হিসাবে আপনি সম্ভবত আরও একটি ডিবি 2 নির্দিষ্ট প্রশ্নের জন্য কিছু ডিবি 2 বিশেষজ্ঞের সন্ধান করবেন। সাধারণত এসকিউএল সার্ভারের মতো জিনিসগুলি একটি 64 বিট মেশিনে 32 বিট এবং 64 বিট সরবরাহকারী উভয়ই ইনস্টল করবে will
অ্যান্থনিডাব্লু জোন্স

আপনার মন্তব্যের জন্য অ্যান্টনি ধন্যবাদ এই ইস্যুতে এবং আপনার মন্তব্যগুলি থেকে অনেকগুলি অনুসন্ধান করা থেকে আমি যা বুঝতে পেরেছি তা হল, আমাকে প্রকল্পের একটি অংশ তৈরি করতে হবে যা এক্সেল শিটটি একটি পৃথক প্রকল্প হিসাবে প্রক্রিয়া করে এবং 32 বিট সংস্করণে সংকলন করে।
নিও

3
লোকেরা কেবল তাই জানে, A2010-তে 64-বিট জেট থাকবে।
ডেভিড-ডাব্লু-ফেন্টন

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