আমি একটি। এমডিবি (অ্যাক্সেস) ফাইল একটি .csv (কমা সীমাবদ্ধ ফাইল) এ পরিবর্তন করার একটি মুক্ত উপায় খুঁজছি। সেখানে কোন ধারণা আছে?
সম্পাদনা করুন:
আমি .mdb ফাইল একটি বড় পরিমাণ রূপান্তর করতে সক্ষম হতে হবে ... তাই কিছু স্বয়ংক্রিয় ভাল হবে।
আমি একটি। এমডিবি (অ্যাক্সেস) ফাইল একটি .csv (কমা সীমাবদ্ধ ফাইল) এ পরিবর্তন করার একটি মুক্ত উপায় খুঁজছি। সেখানে কোন ধারণা আছে?
সম্পাদনা করুন:
আমি .mdb ফাইল একটি বড় পরিমাণ রূপান্তর করতে সক্ষম হতে হবে ... তাই কিছু স্বয়ংক্রিয় ভাল হবে।
উত্তর:
তুমি ব্যবহার করতে পার mdbtools CSV অ্যাক্সেস ফাইল এক্সপোর্ট করতে। এই ব্লগপস্ট কিভাবে আপনি পাইথন ব্যবহার করে স্বয়ংক্রিয়ভাবে তাদের স্বয়ংক্রিয়ভাবে করতে পারেন
এমএস অ্যাক্সেস ডাটাবেস ফাইল স্কিমা, সূচী এবং টেবিল ডেটা সহ সম্পূর্ণ ডেটাবেসগুলির ধারক। একটি .csv ফাইলটি কোন একক ব্যবহারের জন্য একক ডাটাবেস টেবিল এর ডাম্প হওয়া উচিত। আপনি সাধারণত একটি filetype-to-filetype রূপান্তরকারীর ধরণের বাছাই করতে চান না বরং একটি .csv ফাইলের অ্যাক্সেস ডাটাবেস থেকে তথ্যটি সরাতে একটি উপায়।
যদি আপনার এমএস অ্যাক্সেস পাওয়া যায় তবে আপনি কেবল অ্যাক্সেসের মধ্যে ডাটাবেস খুলতে এবং প্রতিটি টেবিলটি ডান-ক্লিক করতে এবং "রপ্তানি" চয়ন করতে পারেন। ফাইল কথোপকথনে আপনি রপ্তানি করার জন্য বিন্যাসটি নির্বাচন করতে পারেন, যা .csv হিসাবে প্লেইন-টেক্সট ফর্ম্যাটগুলি অন্তর্ভুক্ত করবে। অ্যাক্সেসের আপনার সংস্থান বা সংস্করণ সরাসরি প্লেইন-টেক্সট ফর্ম্যাটগুলিতে সরাসরি রপ্তানি সমর্থন করে না, তবে আপনি rjmccann101 এর পরামর্শ অনুসরণ করতে পারেন এবং এমএস এক্সেল কার্যপুস্তিকাতে এক্সপোর্ট করতে পারেন যা অ্যাক্সেসের পুরোনো সংস্করণগুলির সাথে কাজ করবে। অন্যথায়, আপনি আপনার টেবিলে প্রশ্নগুলি নির্দিষ্ট করতে এবং একইভাবে তাদের ফলাফল রপ্তানি করতে পারেন।
তারপরে, অ্যাক্সেস ডেটা ফাইলগুলি স্ব-অন্তর্ভুক্ত ডাটাবেস। যদি আপনার হাতে এমএস অ্যাক্সেসের একটি কপি থাকে তবে কেবলমাত্র .mdb ফাইলটি থাকে তবে আপনি এটিতে সংযোগ করতে পারেন এবং SQL ব্যবহার করে টেবিল ডেটা অনুসন্ধান করতে পারেন, উদাহরণস্বরূপ একটি সহজ পার্ল স্ক্রিপ্ট ব্যবহার করে:
#/usr/bin/perl
use strict;
use warnings;
my $dbh = DBI->connect('dbi:ODBC:driver=microsoft access driver (*.mdb); dbq=path_and_name_of_your.mdb');
my $sql = "select * from table_name";
my $sth = $dbh->prepare( $sth );
while( my @row = $sth->fetchrow_array()) {
print( join( ',', @row ) . "\n" );
}
$sth->finish()
;
$dbh->disconnect()
;
চেক আউট এই স্ট্যাকঅভারফ্লো থ্রেড :
- আপনি চান কেবলমাত্র কলামগুলির সাথে টেবিলে একটি প্রশ্ন করুন এবং এটি সংরক্ষণ করুন।
- প্রশ্নটি নির্বাচন করুন এবং তারপরে ফাইল- & gt; রপ্তানি করুন (যেমন সংরক্ষণ করুন "পাঠ্য * .txt, * cvs ইত্যাদি নির্বাচন করুন") এবং অনুরোধগুলি অনুসরণ করুন
আমি অ্যাক্সেস 2007 পেয়েছি এখানে উপলব্ধ কিন্তু এক্সেল এক্সপোর্ট এবং CSV কাজ করা উচিত হিসাবে সংরক্ষণ করুন।
গণ প্রসেসিংয়ের জন্য আমি এইরকম একটি স্ক্রিপ্ট সুপারিশ করব (উদাহরণস্বরূপ পার্লে):
#/usr/bin/perl
use strict;
use warnings;
use DBI;
my $dir = "/your/path/to/mdb/files";
opendir( DIR, "$dir" );
while( readdir( DIR )) {
my $filename = $_;
next unless( $filename =~ /.mdb$/ ); # skip non-Access entries
my $dbh = DBI->connect('dbi:ODBC:driver=microsoft access driver (*.mdb); dbq=$dir/$filename');
# This select will retrieve all Access objects that are Tables and not system tables
my $sql_outer = 'select name from MSysObjects where type = 1 and name not like "MSys*"';
my $sth_outer = $dbh->prepare( $sql_outer );
while( my @table_name = fetchrow_array( $sth_outer )) {
open( OUT, ">", "$dir/$filename.$table_name.csv" );
$sql_inner = "select * from $table_name";
$sth_inner = $dbh->prepare( $sql_inner );
while( my @row = fetchrow_array( $sth_inner )) {
print( OUT join( ',', @row ) . "\n" );
}
sth_inner->finish();
close( OUT );
}
$sth->outer->finish();
$dbh->disconnect();
}
closedir( DIR )
এটি প্রতিটি। এমডিবি ফাইলকে ".csv ফাইলগুলির একটি গ্রুপে তাদের ডেটাবেস ধারক (.mdb ফাইল) এবং টেবিলের নাম অনুসারে নামকরণ করা" রূপান্তর "করবে। আপনি যদি প্রকৃত কমা দ্বারা পৃথক মানের প্রয়োজন না তবে পাইপ, সেমিকোলন বা যাই হোক না কেন পৃথক তথ্য, ঠিক সেইভাবে মুদ্রণ বিবৃতিটি সম্পাদনা করুন।
উদাহরণটি আপনার সমস্ত .mdb ফাইলগুলির জন্য একই ডিরেক্টরিতে থাকা দরকার যা $ dir পরিবর্তনশীলের মধ্যে কোডযুক্ত হার্ড কোডযুক্ত, তবে এটি সহজেই পরিবর্তিত হতে পারে যাতে আপনি কমান্ড লাইনের ডিরেক্টরী নাম বা পৃথক .mdb ফাইলের নামগুলি হস্তান্তর করতে পারেন।
মনে রাখবেন যে উদাহরণটি কোনওভাবে শক্ত বা ব্যর্থ নয়, আমি পঠনযোগ্যতার জন্য কোনও ত্রুটি সনাক্তকরণ এবং সংশোধনী বাদ দিয়েছি।
উইন্ডোতে পার্ল বাস্তবায়ন রয়েছে, তাও লক্ষ্য করুন (উদাহরণস্বরূপ অ্যাক্টিভস্টেট পার্ল) এবং উদাহরণস্বরূপ উইন্ডো এনভায়রনমেন্টে অবশ্যই পাথর নোটেশনের ক্ষেত্রে সামান্য অ্যাডাপশনগুলির সাথে কাজ করা উচিত।
আপনি বলা একটি টুল খুঁজে বের করতে চান হতে পারে PlaneDisaster.NET । এটি ভরতে ফাইলগুলি এক্সপোর্ট করবে না, তবে এটির মুক্ত উত্স এবং যদি আপনি C # জানেন তবে এটি এমন একটি প্রোগ্রামের জন্য একটি ভাল সূচনা হবে।