আমার আমার উবুন্টু 15 এ dbf ফাইলগুলি খুলতে হবে এবং যেমনটি আমি পেয়েছি লিব্রেআফিস এটি করতে পারে। কিন্তু আমি পাচ্ছি
সাধারণ ত্রুটি সাধারণ ইনপুট / আউটপুট ত্রুটি।
এমন কোনও সফটওয়্যার সরঞ্জাম রয়েছে যা আমাকে সাহায্য করতে পারে?
আমার আমার উবুন্টু 15 এ dbf ফাইলগুলি খুলতে হবে এবং যেমনটি আমি পেয়েছি লিব্রেআফিস এটি করতে পারে। কিন্তু আমি পাচ্ছি
সাধারণ ত্রুটি সাধারণ ইনপুট / আউটপুট ত্রুটি।
এমন কোনও সফটওয়্যার সরঞ্জাম রয়েছে যা আমাকে সাহায্য করতে পারে?
উত্তর:
লিব্রেফিস উইকি অনুসারে আপনার .dbf
লিবারঅফিস বেসের সাহায্যে ফাইল খুলতে হবে be
যদি আপনি এখনও এই সমস্যাটির মুখোমুখি হন তবে LibreOffice পুনরায় ইনস্টল করুন:
sudo apt-get remove --purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get install libreoffice
আপনি ফাইলগুলি dbview
খোলার জন্যও ব্যবহার করতে পারেন .dbf
(যা LibreOffice বেস তুলনায় ব্যবহার করা আরও কঠিন):
sudo apt-get install dbview
পড়ুন র manpage উপর আরও তথ্যের জন্য dbview
।
ছোট .dbf ফাইলগুলির খুব সাধারণ সম্পাদনার জন্য আপনি জিটিকে ডিবিএফ সম্পাদকও ব্যবহার করতে পারেন
উবুন্টু 12.04 এ এটি ইনস্টল করতে, আমাকে প্রথমে এই নির্ভরতা ইনস্টল করতে হবে:
sudo apt-get install libglade2-0:i386
তারপরে আমি ডাউনলোড করে .দেব ফাইলটি ইনস্টল করতে পারলাম
sudo dpkg -i Downloads/gtkdbfeditor_1.0.4-7_i386.deb
হালনাগাদ:
উবুন্টু 16.04-এ, লিব্রেঅফিসের ডিফল্ট ইনস্টল সহ, আমাকেও করতে হয়েছিল
sudo apt install libreoffice-base
তারপরে, .dbf ফাইলগুলি LibreOffice ক্যালকিতে খোলা যায় এবং .dbf হিসাবে সংরক্ষণ করা যায়।
আমি .dbf ফাইলগুলির সাথে ডিল করার সর্বোত্তম উপায়টি পিএইচপি ব্যবহার করে তাদের .csv ফাইলগুলিতে রূপান্তর করতে পারি:
<?php
set_time_limit( 24192000 );
ini_set( 'memory_limit', '-1' );
$files = glob( '/media/d/Data2/files/*.DBF' );
foreach( $files as $file )
{
echo "Processing: $file\n";
$fileParts = explode( '/', $file );
$endPart = $fileParts[key( array_slice( $fileParts, -1, 1, true ) )];
$csvFile = preg_replace( '~\.[a-z]+$~i', '.csv', $endPart );
if( !$dbf = dbase_open( $file, 0 ) ) die( "Could not connect to: $file" );
$num_rec = dbase_numrecords( $dbf );
$num_fields = dbase_numfields( $dbf );
$fields = array();
$out = '';
for( $i = 1; $i <= $num_rec; $i++ )
{
$row = @dbase_get_record_with_names( $dbf, $i );
$firstKey = key( array_slice( $row, 0, 1, true ) );
foreach( $row as $key => $val )
{
if( $key == 'deleted' ) continue;
if( $firstKey != $key ) $out .= ';';
$out .= trim( $val );
}
$out .= "\n";
}
file_put_contents( $csvFile, $out );
}
?>
তারপরে সিএসভি আমদানি করতে মাইএসকিউএল ব্যবহার করুন:
LOAD DATA INFILE "/media/d/Data2/files/ZACATECAS.csv" INTO TABLE tbl FIELDS TERMINATED BY ";" ENCLOSED BY '"' LINES TERMINATED BY "\n";