Bulk Copy – Export Data From MS.SQL2000


Mau sharing sedikit disini. Kebetulan saya sedang mendapat tugas untuk membuat sistem yang dapat men-download data dari MS.SQL2000. Data yang di-inginkan disini bukan hanya 100 – 200 record saja, tapi sampai ratusan tibu bahkan jutaan record, dengan jumlah field yang ingin ditampilkan mencapai puluhan (dalam case saya mencapai 70 field).

Singkat cerita, pada MS.SQL 2000 terdapat fasilitas yang namanya Bulk Copy. Nah, si Bulk Copy ini bisa menulis hasil query ke dalam file lain (tex, Ms.Excel, dll). Dalam kasus saya ini, saya ingin meng-export hasil query saya ke dalam file Ms.Excel.

Kira-kira syntax yang saya gunakan seperti ini:

Format:

bcp [Database]..[Table] out "[OutputPath]" -S "[ServerName]" -U "[USERID]" -P "[Password]" -c -F [beginRow] -L [endRow]
Example:

bcp Example..simple out "C:\output.xls" -S "Server01" -U "admin" -P "admin" -c -F 1000 -L 2000

Penjelasannya secara singkat seperti ini:

  • [Database]..[Table] –> Tidak perlu menggunakan tanda petik, bisa digantikan dengan query tapi harus ditambahkan dengan tanda petik sebelum dan sesudah syntax.
  • out –> Jika meng-export langsung dari table gunakan out, jika menggunakan query maka syntax nya harus diubah menjadi queryout.
  • -c –> artinya output yang dikeluarkan menggunakan character type ASCII
  • -F –> artinya nomor column untuk memulai ditulis (Minimum 1)
  • -L –> artinya nomor column untuk berhenti menulis, dalam example di atas, output akan menulis Row ke 1000-2000.

Problem berikutnya yang muncul adalah Output yang dihasilkan tidak mempunyai header. Tapi masalah ini juga dapat diselesaikan dengan menggunakan simple trick. Untuk pembahasan simple trick ini, akan saya bahas pada artikle saya yang berikutnya. 🙂

Silahkan dibaca artikel yang ini:

https://andreastjong.wordpress.com/2010/09/21/concat-two-file-with-command-prompt/

Advertisement