Arsip: Jalan Tercepat ngeload file notepad ke table

 
user image
more 15 years ago

Yudho

Mas2 & mbak2 delphier. Saat ini saya ada project buat ngolah data. Data tersebut dari file notepad yang nantinya akan diolah ke dalam suatu database. Masalah yang saya hadapi saat ini adalah cara ngeload file notepad ke txt yang lammaaa banget(selain dari kapasitas file txtnya yang lumayan besar). Saya udah pake beberapa koneksi komponen database di delphi. Salah satu komponen yang paling cepat untuk ngeload data tersebut adalah komponen MSDAC( Komponen tambahan delphi). Tapi itupun masih trial. Yang saya mau tanyakan, apakah rekan2 semua punya solusi lain untuk ngeload data txt tersebut kedalam database. Ato ada komponen delphi yang cocok untuk mengatasi masalah diatas. Saat ini saya databasenya memakai MySQL. Mohon Bantuanya Terima Kasih
user image
more 15 years ago

irosyidi

Bos kalo pengalaman aku soal export import labih baik pake format xml... selain cepat juga ada komponen bawaan delphi yang prosesingnya mudah... Gunakan XML mapper untuk mapping skema xmlnya..
user image
more 15 years ago

Yudho

Cara menggunakanya(XML) gimana bos? itu maksudnya untuk komponen apanya?trus masukin datanya ke db gmn? Gak pernah pake komponen ini?
user image
more 15 years ago

irosyidi

export ke XML:: ADODataSet1.SaveToFile('hallo.xml',pfXML); import:: if OpenDialog1.Execute then if OpenDialog1.FileName <> '' then begin ClientDataSet1.Close; XMLTransformProvider1.XMLDataFile:=OpenDialog1.FileName; ClientDataSet1.Open; end; file hasil export di maping dengan XMLmapper bawaan instalasi delphi... trus di masukin ke xml provider(transformation)
user image
more 15 years ago

centos

Load text file yang paling cepat di MySQL dengan menggunakan statement LOAD DATA INFILE, ini seperti bulk insert-nya MSSQL.
user image
more 15 years ago

Yudho

ya kalo pake oracle dulu saya juga seperti ini
LOAD DATA INFILE 'd:\tar20061223.txt' INTO TABLE s_master append TRAILING NULLCOLS ( firstname POSITION(3:22), lastname POSITION(23:42), Flag1 POSITION(70:70), )
di atas kelihatan dengan menggunakan trailing nullcols untuk field firstname diambilkan dari colom ke 3 dengan panjang(length) 22. Bagaimana hal ini bisa dilakukan di Mysql. Udah lama nich gak kelar2 Mohon Bantuanya
user image
more 15 years ago

_lmz

Lihat: http://dev.mysql.com/doc/refman/5.0/en/load-data.html File anda nampaknya adalah fixed-row format dengan firstname dan lastname CHAR(20) dan flag1 CHAR(1). Untuk TRAILING NULLCOLS dapat disimulasikan dengan default value yang sesuai... Data anda yang mulai di kolom 3 dapat disimulasikan dengan LINES STARTING BY (apabila awal baris anda konstan). Yang susah adalah kolom flag1 anda itu... Kalau bisa didempetkan akan mudah: Ini isi file testnya, juga dalam bentuk hex:
ZZ12345678901234567890-2345678901234567890- ZZ12345678901234567890-2345678901234567890 ZZ12345678901234567890 0000000: 5a5a 3132 3334 3536 3738 3930 3132 3334 ZZ12345678901234 0000010: 3536 3738 3930 2d32 3334 3536 3738 3930 567890-234567890 0000020: 3132 3334 3536 3738 3930 2d0d 0a5a 5a31 1234567890-..ZZ1 0000030: 3233 3435 3637 3839 3031 3233 3435 3637 2345678901234567 0000040: 3839 302d 3233 3435 3637 3839 3031 3233 890-234567890123 0000050: 3435 3637 3839 300d 0a5a 5a31 3233 3435 4567890..ZZ12345 0000060: 3637 3839 3031 3233 3435 3637 3839 300d 678901234567890. 0000070: 0a .
Proses import:
mysql> create table test ( -> firstname char(20) default 'A Default', -> lastname char(20) default 'A Default', -> flag1 char(1) default 'X' -> ) charset=latin1; Query OK, 0 rows affected (0.05 sec) mysql> truncate table test; Query OK, 1 row affected (0.01 sec) mysql> load data local infile 'z:\\temp\\test.txt' -> into table test -> fields terminated by "" enclosed by "" escaped by "" -> lines starting by "ZZ" terminated by "\r\n" -> (firstname, lastname, flag1); Query OK, 3 rows affected, 3 warnings (0.01 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 3 Warning (Code 1261): Row 2 doesn't contain data for all columns Warning (Code 1261): Row 3 doesn't contain data for all columns Warning (Code 1261): Row 3 doesn't contain data for all columns mysql> select * from test; +----------------------+----------------------+-------+ | firstname | lastname | flag1 | +----------------------+----------------------+-------+ | 12345678901234567890 | -2345678901234567890 | - | | 12345678901234567890 | -2345678901234567890 | X | | 12345678901234567890 | A Default | X | +----------------------+----------------------+-------+
Mungkin anda perlu membuat script kecil untuk merubah datafile anda ke format yang lebih mysql-friendly :). Oh ya, CHARSET=latin1 di tabel itu bukan asal ditulis, kalau CHARSETnya multibyte (misal UTF8) maka fixed-row format tidak akan berjalan. good luck.
user image
more 15 years ago

simba

Udah tau format filenya, udah tau ukurannya, knp gak bikin program sendiri untuk pump file teks itu ke database? Kan lebih mudah dan lebih bebas daripada "menggantungkan diri" sama external component, pake mbayar pula. :P Kayaknya tinggal load file teks ke TStringList, parsing sesuai format teks, generate query bulk-nya, "lempar" hasilnya ke mysql. Gampang, dan mudah2-an juga cepet proses migrasinya.
user image
more 15 years ago

ahariono

Kalau yg biasa "KAMI" pakai pake perintah gini (- ganti ama spasi) Procedure baca_teks ; Var --f : textfile ; --s : string ; Begin --Assignfile(f,'nama_file_txt') ; --Reset(f) ; --While eof(f) Do --Begin ----Readln(f,s) ; ---- // s = hasil string dari file txt perbaris, tinggal pilah-pilahin dah tuh ----Insert Into nama_table (kolom1, kolom2) values (nilai1, nilai2) ; --End ; --CloseFile(f) End ; selama pakai reset(f), seingat saya belum pernah menemukan kendala "LAMA"
user image
more 15 years ago

Budiadi

Saya pernah ngalamin juga lama untuk membaca file text apalagi kalau kapasitas diatas 1 MB, tapi itu dulu jaman sebelum windows diciptakan dan solusinya waktu itu khan cuma ada turbo pascal jadi saya pake Prosedur bawaannya turbo pascal yaitu BlockRead(var F: File; var Buf; Count: Integer [; var AmtTransferred: Integer]) dan BlockWrite(var f: File; var Buf; Count: Integer [; var AmtTransferred: Integer]) dan berhasil walau ngejelimet programingnya, Procedure ini juga masih dibawa ke Delphi,.. coba aja pelajari siapa tau bisa mbantu :-)
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com