Upload excel ke database menggunakan VB.net dan SSIS



Pada pembahasan kali ini saya akan membuat tutorial mengupload database ke sql server dengan menggunakan teknik SSIS, file yang diupload sourcenya berupa EXCEL 

Spesifikasi yang digunakan adalah 

- sql server 2000
- Excel 2003
- Visual Studio 2008
- Windows Server 2000

Yang perlu dipersiapkan


- tabel pada database

- file excel yang berisi data yang akan diupload


Saya asumsikan disini bahwa table untuk menyimpan datanya telah anda buat.




1. Membuat file DTS untuk job upload data



Pilih export & import data dari sql server 






akan muncul tampilan DTS Export / Import Wizard


Lalu pilih Data Source anda, perlu dipastikan bahwa Path file yang digunakan nantinya akan sama.



lalu pilih server dan database tujuan anda, gunakan sql authentication dan masukan password server anda



Pada saat memilih specify table or query pilih " Copy table(s) and view(s) ... "




Pada Halaman Selanjutnya anda perlu memilih pada sheet berapa data yang ingin anda upload, dan akan di upload ke table mana



Lalu di bagian " Save , schedule replicate ... " Centang pilihan " save Dts Paket " dan pilih " Structured Storage File "


Pada tampilan " SAVE DTS Package " beri nama file anda , tentukan lokasi file anda dan jangan lupa memberi password untuk paket anda, Owner password dan user Password dapat disamakan.


Setelah menentukan tekan "Next " maka proses telah selesai dan file dts akan tersedia di path yang anda tentukan sebelumnya.





2. Membuat File BAT


Setelah selesai membuat file DTS selanjutnya kita akan membuat file bat yang berfungsi untuk menjalankan file DTS nantinya dari script yang kita buat. 

Buka notepad dan ketikan berikut : 

 set PATH=%PATH%;"\Program Files\Microsoft SQL Server\80\Tools\Binn\" == Path ke folder dtexec.exe ==
 D:  
 cd \SSIS\folder  == path folder file dts anda == 
 dtexec.exe /f [nama_file_dts] /De [password_file_dts] 

Save file tersebut dalam bentuk .bat, dan letakan dalam folder yang sama dengan file DTS anda.



3. Membuat Aplikasi Untuk Mengupload


Persiapan telah selesai sekarang kita tinggal membuat aplikasi untuk mempermudah user mengupload file excel ke database, buatlah tampilan atau file aspx  yang berisi Formupload dan Sebuah Button, atau kreasikan sesuka anda ( contoh )


Berikut NameSpace yang perlu digunakan agar aplikasi dapat berjalan

Imports System.Data
Imports System.IO
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Text
Imports System.Diagnostics.Process

Script Trigger menjalankan upload file dan menjalankan bat.

1:   If Not File_excel.HasFile = False Then  
2:          filepath1 = File_excel.PostedFile.FileName  
3:          pat1 = "(?:.+)\\(.+)\.(.+)"  
4:          r1 = New Regex(pat1)  
5:          'run  
6:          m1 = r1.Match(filepath1)  
7:          file_ext1 = m1.Groups(2).Captures(0).ToString()  
8:          filename1 = m1.Groups(1).Captures(0).ToString()  
9:          file1 = filename1 & "." & file_ext1  
10:         filepath1Serv = "\hdtest_temp\hdtest\Network profiling admin\DataNetwork/" & file1  
11:          File_excel.SaveAs(MapPath("~\Network profiling admin\DataNetwork/") & file1)  
12:          If file_ext1 = "xls" Or file_ext1 = "xlsx" Then  
14:            Dim p As New System.Diagnostics.Process()  
15:            p.StartInfo.WorkingDirectory = "D:\SSIS\"  
16:            p.StartInfo.FileName = "D:\SSIS\network profiling\netprof_data.bat"  
17:            p.Start()  
18:            p.WaitForExit(10000)  
19:            'p.CloseMainWindow()  
20:            p.Close()  
21:            Me.ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "alert", "window.alert('Upload DataBerhasil')", True)  
22:            btn_upload.Enabled = True  
23:            Exit Sub  
24:          Else  
25:            Me.ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "alert", "window.alert('Format File Extension harus berupa excel file.')", True)  
26:            btn_upload.Enabled = True  
27:            Exit Sub  
28:          End If  
29:          Me.ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "alert", "window.alert('Silakan pilih file yang ingin anda upload.')", True)  
30:          btn_upload.Enabled = True  
31:          Exit Sub  
32:        End If  

Penjelasan. 
filepath1Serv   :  Merupakan path tempat anda meletakan file excel yang anda tentukan pada saat pembuatan File DTS

File_excel.SaveAs : Path upload file excel anda 

p.StartInfo.WorkingDirectory : merupakan path folder tempat anda meletakan file bat

p.StartInfo.FileName :  merupakan path folder tempat anda meletakan file bat beseta nama bat nya.


Catatan : file excel harus memiliki header yang berisi nama - nama column pada table yang ingin anda upload, dan penamaan header tersebut haruslah sama.






Load comments