Cara mengulang lembar excel di ssis

SSIS adalah alat yang sangat bagus untuk melakukan Transaksi ETL, tetapi pernahkah Anda bertanya-tanya apakah Anda dapat menggunakan alat ini untuk melakukan operasi CRUD dari sumber data? . Saya mencoba ke Google untuk solusi ini tetapi saya tidak dapat menemukan yang akan memuaskan kebutuhan saya sehingga kami harus melakukannya dari awal dan inilah cara saya membuatnya

Pertama, mari asumsikan bahwa Anda memiliki spreadsheet Excel yang terlihat seperti ini

Cara mengulang lembar excel di ssis

Anda memiliki kolom untuk melakukan tindakan, ID, dan nilai yang ingin Anda simpan. Jadi dalam hal ini, ADD berarti Anda perlu menambahkan ini ke tabel database dengan ItemIddan Values yang benar, DELETE berarti Anda perlu menghapus item dengan ItemIDyang diberikan pada tabel database dan UPDATE berarti Anda memperbarui nilai item dengan yang diberikan

Sekarang seperti inilah tampilan tabel database Anda

Cara mengulang lembar excel di ssis

Mari kita mulai, dengan asumsi bahwa Anda telah membuka Proyek Layanan Integrasi di Visual Studio mulai dari paket baru, mari buat alurnya

1. Mengonversi Sumber Excel ke Tujuan Recordset

Seret tugas Aliran Data dari Kotak Alat SSIS Anda, konfigurasikan dengan masuk ke Tab Aliran Data

Cara mengulang lembar excel di ssis

Sekarang seret Sumber Excel dan Tujuan Recordset. Hubungkan mereka bersama

Cara mengulang lembar excel di ssis

Klik dua kali pada sumber Excel lalu konfigurasikan koneksi, klik Baru dan buat Koneksi Excel baru dengan memilih spreadsheet Excel dengan data yang ingin Anda proses. Pilih pengaturan yang sesuai

Cara mengulang lembar excel di ssis

Pilih nama sheet tempat data Anda berada

Cara mengulang lembar excel di ssis

Pratinjau data untuk memeriksa ulang

Cara mengulang lembar excel di ssis

Buka kolom dan centang setiap kolom yang Anda perlukan untuk diproses

Cara mengulang lembar excel di ssis

Buat variabel untuk menyimpan data Anda, klik kanan pada kanvas Tugas Aliran Data Anda dan pilih variabel

Cara mengulang lembar excel di ssis

Buat variabel berikut semuanya di bawah lingkup paket

  • Action, String_Data Type – ini akan menyimpan ActionColumn Data
  • ItemId, Double_Data Type – ini akan menyimpan ItemIdColumn Data
  • Nilai, String_Tipe Data – ini akan menyimpan ItemId0Column Data
  • RecordsetOutput, Object Data Type – ini akan menyimpan semua Item Excel

Cara mengulang lembar excel di ssis

Sekarang konfigurasikan ItemId_1Tujuan Anda, buka properti khusus, lalu pilih nama variabel. Pilih ItemId_2, di sinilah baris Excel Anda akan disimpan

Cara mengulang lembar excel di ssis

Bagian pertama selesai

2. Ulangi setiap Item Recordset di SSIS

Sekarang Anda telah menyimpan baris Excel Anda dalam sebuah recordset, sekarang mari kita mengulang setiap item untuk melakukan tugas yang Anda butuhkan

Sekarang seret Wadah Foreach Loop ke dalam proyek Anda, hubungkan dengan Tugas Aliran Data

Cara mengulang lembar excel di ssis

Konfigurasikan variabel yang diperlukan untuk operasi. Klik dua kali Foreach Loop Container lalu pilih collection. Pilih Foreach ADO Enumerator pada opsi Enumerator, lalu pilih variabel ItemId2 untuk data sumber Anda. Pilih mode Pencacahan menjadi Baris di tabel pertama

Cara mengulang lembar excel di ssis

Petakan variabel individual Anda untuk menetapkan nilai kolom. Buka Pemetaan Variabel dan tetapkan variabel sesuai dengan nilai Indeks. Nilai indeks ini penting dan diurutkan berdasarkan cara tujuan set rekaman mengonfigurasinya, bukan cara di Excel. Untuk memverifikasi, pergi ke Recordset Destination -> Input Columns, jadi dalam contoh ini, tampilannya seperti ini

Cara mengulang lembar excel di ssis

Jadi Tindakan memetakan ke ItemId4, ItemIDMemetakan ke ItemId6dan ItemId0memetakan ke ItemId8

Cara mengulang lembar excel di ssis

Sekarang seret wadah urutan dan biarkan kosong dan beri nama pendaratan. Ini akan menjadi area pendaratan variabel Anda dan menentukan apa yang harus dilakukan selanjutnya

Cara mengulang lembar excel di ssis

Sekarang Anda telah menyimpan data baris pada setiap variabel, mari buat alur kontrol Anda

3. Buat Alur Kontrol Anda di SSIS

Bagian ini akan menjadi seperti ItemId_9atau Values0pernyataan Anda tetapi di SSIS

Sekarang seret tiga Jalankan Tugas SQL dan beri nama Tambahkan, Edit, dan Hapus. Hubungkan mereka ke Kontainer Urutan Pendaratan, lalu konfigurasikan setiap Precedence Constraint (panah hijau)

Cara mengulang lembar excel di ssis

Double klik Green Arrow untuk ADD SQL Task, kemudian pada Evaluation Operation, pilih Expression kemudian pada Expression pilih Action Variable dan harus sama dengan “Values1”. Ini berarti bahwa Tugas ADD SQL hanya akan dipicu ketika Tindakan sama dengan "Values1", jika tidak maka akan meninggalkannya

Cara mengulang lembar excel di ssis

Jadi secara ringkas, ekspresinya akan seperti ini

  • MENAMBAHKAN. @[Pengguna. Tindakan]==”TAMBAHKAN”
  • EDIT. @[Pengguna. Tindakan]==”EDIT”
  • MENGHAPUS. @[Pengguna. Tindakan]==”HAPUS”

Sekarang Anda telah membuat alur logika Anda, mari buat Values3tugas untuk setiap kondisi

4. Kirim Nilai Variabel SSIS di Jalankan Tugas SQL

Sekarang buka ADD Execute SQL Task Anda, di Bagian Pemetaan Parameter, petakan parameter Anda. Untuk ItemId, kami membuat parameter yang disebut Values5dan untuk ItemId0kami membuat Values7. Kita juga perlu menentukan Tipe Data yang tepat

Cara mengulang lembar excel di ssis

Sekarang masuk ke Pengaturan Umum lalu buat ADO baru. Jenis koneksi .NET ke database Anda. Pilih Masukan langsung sebagai Values_8lalu pada Values9ketik ini

Insert INTO MyTable (MyId, Value) values (@ItemId, @Value)

Cara mengulang lembar excel di ssis

Saya kira untuk ItemID0and ItemID1LETE, Anda tahu apa yang harus dilakukan

Itu saja, tampilan terakhir SSIS Anda akan menjadi seperti ini

Cara mengulang lembar excel di ssis


Diarsipkan di bawah. CodeProject, Basis Data, Pemrograman, Alat Tagged. Microsoft SQL Server, Layanan Integrasi SQL Server
Cara mengulang lembar excel di ssis

Artikel ini awalnya diposting di http. //macalay. com/2013/10/29/looping-through-excel-rows-in-ssis-and-perform-crud-instructions

Lisensi

Artikel ini, bersama dengan kode sumber dan file terkait, dilisensikan di bawah The Code Project Open License (CPOL)

Bagaimana cara mengulang beberapa file Excel di SSIS?

Untuk mengulang melalui file Excel dengan menggunakan enumerator File Foreach .
Buat variabel string yang akan menerima jalur Excel saat ini dan nama file pada setiap iterasi loop. .
Secara opsional, buat variabel string lain yang akan menyimpan nilai untuk argumen Properti yang Diperluas dari string koneksi Excel

Bagaimana cara membaca data dari lembar Excel menggunakan SSIS?

Pada menu SSIS, pilih Sambungan baru. Di kotak dialog Tambah Pengelola Sambungan SSIS, pilih EXCEL lalu Tambah. Buat manajer sambungan pada saat yang sama saat Anda mengonfigurasi Sumber Excel atau Tujuan Excel pada halaman Manajer sambungan Editor Sumber Excel atau Editor Tujuan Excel

Bagaimana cara memuat banyak file Excel dengan nama sheet berbeda di SSIS?

Solusi. .
Buat Paket SSIS Anda dan kemudian buat variabel di bawah ini
Langkah 2. Buat ADO. NET Connection Manager seperti yang ditunjukkan di bawah ini di Paket SSIS Anda. .
Langkah 3. Memetakan variabel dalam Tugas Skrip. .
Klik Tombol Edit Skrip dan kemudian salin kode di bawah ini ke Editor Tugas Skrip Anda
Tekan tombol Save di Script Task Editor lalu tutup

Bagaimana cara memuat banyak lembar dari beberapa file Excel ke tabel berbeda dalam paket SSIS?

Langkah-Langkah SSIS untuk Memuat Data dari Beberapa Lembar Excel .
Langkah 1 - Buat Paket SSIS. .
Langkah 2 - Buat Variabel SSIS. .
Langkah 3 - Foreach Loop Container. .
Langkah 4 - Konfigurasi Enumerator ke "Foreach ADO. Pencacah Rangkaian Skema .NET".
Langkah 5 - Buat Koleksi di Foreach Loop Editor