Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ekspor data dari SQL Server ke Excel dan file Teks menggunakan paket SSIS

Saat menggunakan aliran data SSIS, kita dapat melakukan tugas ETL yang dapat digunakan untuk migrasi data, pembongkaran data, desain, dan implementasi gudang data.

Pada artikel ini, saya menjelaskan cara mengekspor data dari tabel SQL ke excel dan file teks dengan menggunakan tugas aliran data SSIS.

Dalam demo ini, saya akan melakukan langkah-langkah berikut:

1. Buat paket SSIS dan buat pengelola koneksi ADO.NET.

2. Buat tugas aliran data yang memiliki sumber ADO.NET untuk mengisi data dari SQL Server. Data akan ditulis ke file excel dan file teks kemudian mengkonfigurasi tujuan flat file dan tujuan excel.

3. Jalankan paket SSIS dan verifikasi bahwa data ditulis ke file excel dan teks.

Buat paket SSIS dan koneksi ADO.NET

Untuk demo ini, saya menggunakan alat SQL Server Data 2015. Pertama, saya membuat proyek layanan Integrasi baru bernama “Ekspor Data SQL ”:

Setelah membuat proyek SSIS, saya akan membuat tugas aliran data. Tugas aliran data akan menggunakan SQL Server sebagai sumber. File Excel dan file datar akan ditentukan sebagai tujuan. Sebelum membuat tugas aliran data, kita harus membuat koneksi ADO.NET .

Konfigurasikan koneksi ADO.NET

Seperti yang saya sebutkan di atas, saya akan menggunakan “WideWorldImportors ” database demo yang dapat diunduh dari sini.

Untuk membuat “Sumber ” koneksi, klik kanan “Pengelola Koneksi ” dan pilih “Koneksi ADO.NET Baru ” seperti terlihat pada gambar di bawah ini:

Kotak dialog “Konfigurasikan Manajer Koneksi ADO.NET " akan buka. Di kotak dialog, klik “Baru ” seperti terlihat pada gambar berikut:

Kotak dialog “Pengelola Koneksi " akan buka. Saya akan mengonfigurasi parameter konektivitas SQL:

1. Nama Server – adalah nama host atau alamat IP dari server database tempat SQL diinstal.

2. Otentikasi – adalah “jenis otentikasi” yang digunakan untuk menghubungkan Server yang dipilih pada “Nama Server ” kotak tarik-turun. Itu bisa berupa Otentikasi SQL atau Otentikasi Windows.

3. Nama Basis Data – adalah nama database yang akan kita gunakan untuk mengekstrak data.

Dalam demo ini, saya akan menggunakan VM lokal saya. Saya akan menggunakan otentikasi windows untuk menghubungkan instance SQL dan saya akan menggunakan “WideWorldImportors ” basis data.

Perhatikan gambar berikut:

Klik “Uji Koneksi ” untuk memverifikasi konektivitas yang berhasil. Perhatikan gambar berikut:

Setelah koneksi SQL dikonfigurasi, Anda akan dapat melihat koneksi di “Pengelola koneksi ” jendela. Itu terletak di bagian bawah jendela aliran kontrol seperti yang ditunjukkan pada gambar berikut:

Buat tugas aliran data

Tugas aliran data digunakan untuk memindahkan data antara sumber dan tujuan. Ini dapat digunakan untuk melakukan tugas ETL (Extract, Transform, and load). Saya akan mengekspor data dari SQL Server ke Excel atau file Teks maka kami akan menggunakan tugas aliran data.

Untuk mengonfigurasi tugas aliran data, pertama-tama saya akan menyeret dan melepaskan tugas aliran data di jendela aliran kontrol dan mengganti namanya menjadi “Ekspor Data Penjualan ke Excel ” seperti terlihat pada gambar di bawah ini:

Konfigurasi Sumber ADO.NET

Untuk mengisi data dari tabel SQL Server, kita harus mengkonfigurasi komponen sumber ADO.Net. Klik dua kali pada “Tugas aliran data " untuk melakukannya. Jendela “Konfigurasikan tugas aliran data " akan buka. Atau, Anda dapat memilih “Alur Data ” yang terletak di sebelah “Alur Kontrol ”. Karena kita telah mengonfigurasi koneksi SQL, kita akan menyeret dan melepaskan Sumber ADO.NET ke jendela aliran data seperti yang ditunjukkan pada gambar di bawah ini:

Sekarang kita akan mengkonfigurasi ADO.NET Source untuk mengekstrak data dari tabel melalui query tabel SQL Server. Untuk melakukannya, klik dua kali “ADO Net source ”. Sebuah kotak dialog akan terbuka. Pada kotak dialog kita harus mengkonfigurasi parameter berikut:

1. Manajer Koneksi ADO.NET – mengisi daftar koneksi ADO.NET yang dibuat dalam paket SSIS.

2. Mode Akses Data memiliki dua opsi:

sebuah. Jika Anda memilih “Tabel atau Tampilan ” dalam “Mode akses data ” kotak tarik-turun, “Nama tabel atau tampilan dropdown akan diisi dengan tabel dan view yang ada pada database. Lihat gambar di bawah ini:

b. Jika kita memilih “Perintah SQL ”, itu akan membuka kotak teks multi-baris tempat kita dapat menulis kueri Ad-Hoc untuk mengekstrak data dari database.

Lihat gambar di bawah ini:

Kami sudah membuat koneksi ADO.Net, jadi di manajer koneksi ADO.NET drop down untuk memilih nama yang dibuat. Dalam demo ini, kita akan menulis query kita sendiri sehingga metode akses datanya adalah “SQL Command ”.

Saya membuat kueri yang akan memberi saya daftar pelanggan dari database. Kueri ini di bawah:

SELECT s.CustomerID, 
s.CustomerName, 
sc.CustomerCategoryName, 
pp.FullName AS PrimaryContact, 
ap.FullName AS AlternateContact, 
s.PhoneNumber, 
s.FaxNumber, 
bg.BuyingGroupName, 
dm.DeliveryMethodName AS DeliveryMethod, 
c.CityName AS CityName 
FROM Sales.Customers AS s 
LEFT OUTER JOIN Sales.CustomerCategories AS sc 
ON s.CustomerCategoryID = sc.CustomerCategoryID 
LEFT OUTER JOIN [Application].People AS pp 
ON s.PrimaryContactPersonID = pp.PersonID 
LEFT OUTER JOIN [Application].People AS ap 
ON s.AlternateContactPersonID = ap.PersonID 
LEFT OUTER JOIN Sales.BuyingGroups AS bg 
ON s.BuyingGroupID = bg.BuyingGroupID 
LEFT OUTER JOIN [Application].DeliveryMethods AS dm 
ON s.DeliveryMethodID = dm.DeliveryMethodID 
LEFT OUTER JOIN [Application].Cities AS c 
ON s.DeliveryCityID = c.CityID

Terakhir, editor sumber ADO.NET akan terlihat seperti gambar di bawah ini:

Kami dapat melihat pratinjau keluaran kueri dengan mengeklik tombol “Pratinjau ” di kotak dialog. Hasil query akan seperti pada gambar di bawah ini:

Konfigurasikan tujuan excel

Setelah kami mengonfigurasi sumber ADO.NET, kami akan mengonfigurasi tujuan Excel.

Di kotak alat SSIS, seret dan lepas tujuan excel di jendela aliran data dan ganti namanya menjadi “File Excel Penjualan ” seperti terlihat pada gambar di bawah ini:

Klik dua kali pada tujuan excel. Kotak dialog “Editor tujuan Excel ” akan terbuka untuk mengonfigurasi parameter berikut:

1. Pengelola koneksi Excel – digunakan untuk menghubungkan file excel.

2. Metode akses data . Lembar kerja Excel dianggap sebagai tabel atau tampilan. Jika Anda memilih “Tabel atau Tampilan ”, kotak tarik turun “Nama lembar excel ” akan diisi dengan semua lembar kerja yang dibuat di buku kerja excel.

3. Nama lembar excel . Secara default, kotak drop-down ini dinonaktifkan. Ini akan diaktifkan secara otomatis ketika kita memilih “Tabel atau Tampilan ” sebagai mode akses data. Kami juga dapat memilih lembar kerja excel yang sesuai.

Kami belum membuat koneksi tujuan excel, jadi pertama-tama perlu membuat manajer tujuan excel. Untuk melakukannya, klik “Baru ” tombol di samping “Pengelola koneksi Excel ” kotak drop-down seperti yang ditunjukkan pada gambar di bawah ini:

Kotak dialog “Manajer koneksi Excel " akan buka. Di sini kita dapat mengkonfigurasi:

1. Jalur File Excel – lokasi file excel.

2. Versi Excel – dapat memilih versi excel dari drop down box.

Untuk demo ini, saya membuat file excel dan menyimpannya di komputer saya. Untuk mencari file, klik Browse, menelusuri sistem file, pilih file dan klik OK , seperti yang ditunjukkan pada gambar di bawah ini:

Sekarang dalam mode akses data pilih sebagai “Tabel atau tampilan ” di “Pengelola tujuan Excel ”. Daftar lembar kerja excel akan diisi di kotak drop down. Pilih “Nama lembar excel ” dari drop down box seperti pada gambar di bawah ini:

Sekarang, untuk mengekspor data dari tabel SQL ke file excel, kita harus memetakan bidang tabel SQL dan file Excel. Untuk melakukannya, seret panah biru di bawah “Data Penjualan server DB ” dan letakkan di “File excel penjualan ” komponen seperti yang ditunjukkan pada gambar di bawah ini:

Klik dua kali pada “Tujuan Excel ” untuk memetakan bidang. “Editor tujuan Excel (File Excel Penjualan) " akan buka. Pilih “Pemetaan ” dari panel kiri kotak dialog. Dalam pemetaan, kolom input akan menjadi kolom output SQL Query dan kolom tujuan akan menjadi kolom file excel. Disarankan untuk menyimpan nama yang sama dari output SQL Query dan kolom excel. Ini akan membuat pemetaan lebih mudah karena kita tidak perlu memetakan bidang secara manual. SSIS akan memetakan kolom secara otomatis.

Untuk demo ini, file excel dan output SQL Query memiliki nama yang sama sehingga pemetaan dilakukan secara otomatis. Verifikasi fakta bahwa pemetaan telah dilakukan dengan benar dan klik OK . Lihat gambar di bawah ini:

Setelah pemetaan selesai, seluruh tugas aliran data akan terlihat seperti pada gambar di bawah ini:

Sekarang kita bisa mengeksekusi paket. Untuk melakukannya, klik “Mulai ” yang terletak di bilah menu. Jika paket berhasil dijalankan, Anda dapat melihat ikon hijau pada setiap komponen seperti yang ditunjukkan pada gambar di bawah ini:

Konfigurasikan tujuan file datar

Seperti yang saya sebutkan di awal artikel, di SSIS kita dapat mengekspor data dari Tabel SQL ke file teks. Untuk melakukan itu, kita harus membuat tujuan file datar dalam tugas aliran data. Seret dan lepas “Tujuan File Datar ” ke jendela tugas aliran data dan ganti namanya menjadi “Data penjualan ke file teks ” seperti terlihat pada gambar di bawah ini:

Sekarang klik dua kali pada “Tujuan file datar ”. Kotak dialog “Editor tujuan File Datar ” akan terbuka seperti yang ditunjukkan pada gambar di bawah ini:

Sekarang klik “Baru ” tombol di samping “Pengelola koneksi file datar ” kotak tarik-turun. Kotak dialog “Format File Datar " akan buka. Ini memiliki empat opsi:mengekspor data ke delimited, fixed width, fixed width dengan pembatas baris dan kanan yang tidak rata. Untuk demo ini, kami akan memilih “Dibatasi ”.

Pilih “Dibatasi ” dan klik Oke seperti yang terlihat pada gambar di bawah ini:

Kotak dialog lain “Editor pengelola koneksi file datar " akan buka. Beri nama pengelola koneksi sebagai “Ekspor Data Penjualan ” seperti terlihat pada gambar berikut:

Untuk menyimpan data SQL dalam file teks, kita dapat membuat file teks baru atau memilih yang sudah ada.

Untuk demo ini, kita akan membuat file baru. Saya akan membuat file bernama “Data Penjualan ”. Untuk melakukan itu, saya akan mengklik browse dan menelusuri sistem file seperti yang ditunjukkan pada gambar di bawah ini:

Sekarang kita akan mengonfigurasi parameter file datar:

  • Data yang diekspor dari Tabel SQL akan disimpan dalam format yang dibatasi, jadi pilih “D terbatas ” dalam “Format ” kotak drop-down seperti yang ditunjukkan pada gambar di bawah ini:

  • Pembatas baris tajuk ” akan menjadi “{CR}{LF} ”, jadi pilih opsi yang sesuai di kotak drop-down seperti yang ditunjukkan pada gambar di bawah ini:

  • Dalam file teks, baris pertama akan menjadi header kolom, jadi centang “Nama kolom di baris data pertama ” seperti tampak pada gambar di bawah ini:

Klik Oke untuk menutup “Editor pengelola koneksi file datar ”.

Sekarang kita akan memetakan kolom. Untuk melakukannya, klik “Pemetaan ” di sebelah kiri “Editor tujuan File Datar ” seperti terlihat pada gambar di bawah ini:

Seperti nama “input SQL Query ” dan “Tujuan file teks ” kolomnya sama, paket SSIS memetakan kolom secara otomatis.

Setelah pemetaan selesai, seluruh tugas aliran data akan terlihat seperti pada gambar di bawah ini:

Sekarang kita bisa mengeksekusi paket. Untuk melakukannya, klik “Mulai ” yang terletak di bilah menu. Jika paket berhasil dijalankan, Anda dapat melihat ikon hijau pada setiap komponen seperti yang ditunjukkan pada gambar di bawah ini:

Di bawah ini adalah tangkapan layar data yang diekstraksi dari tabel SQL:

Ringkasan

Dalam artikel ini, saya membahas:

  1. Membuat pengelola koneksi ADO.NET
  2. Membuat tugas aliran data dan mengonfigurasi database sumber
  3. Mengonfigurasi tujuan excel dan mengekspor data dari tabel SQL ke File Excel.
  4. Mengonfigurasi tujuan file datar dan mengekspor data dari tabel SQL ke file Teks.

Alat yang berguna:

Devart SSIS Data Flow Components – memungkinkan Anda mengintegrasikan database dan data cloud melalui Layanan Integrasi SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kapan kita harus menggunakan NVARCHAR/NCHAR daripada VARCHAR/CHAR di SQL Server?

  2. Bagaimana saya bisa menentukan di SQL Server jika rentang dateTime tumpang tindih dengan yang lain?

  3. Hubungkan SQL Server ke SugarCRM

  4. Cara Memformat Tanggal &Waktu di SQL Server

  5. SQL Server Internal:Rencana Caching Pt. II – Menyusun Ulang Rencana