#!/usr/bin/python """ Migrasi Data MS Access ke SQL (c)2008 RAB Linux Indonesia """ import os from commands import getoutput mdbfile = os.sys.argv[1] dbname = mdbfile[:-4] os.system('mkdir -p ' + dbname) for tablename in getoutput('mdb-tables -1 %s' % mdbfile).splitlines(): print tablename s = getoutput('mdb-schema -S -T %s %s' % (tablename, mdbfile)) s = s.replace('DROP TABLE','-- DROP TABLE') s = s.replace('DateTime (Short)','date') s = s.replace('Boolean','smallint') s = s.replace('Double','float') s = s.replace('Currency','float') s = s.replace('Long Integer','integer') s = s.replace('Text (','varchar(') s = s.replace('Memo/Hyperlink (255)','text') s = s.replace('Byte','smallint') s = s.replace('Replication ID','integer') d = getoutput('''mdb-export -I -q "'" -D "%%Y/%%m/%%d" -S %s %s''' % ( mdbfile, tablename)) d = d.replace('\nINSERT INTO',';\nINSERT INTO') d = d.replace("\\'","'") sqlfile = '%s/%s.sql' % (dbname, tablename) f = open(sqlfile,'w') f.write(s+'\n'+d) f.close()