Mendukung multi-penargetan di komponen kustom Anda
Berlaku untuk: Integration Runtime SSIS SQL Server di Azure Data Factory
Anda sekarang dapat menggunakan SSIS Designer di SQL Server Data Tools (SSDT) untuk membuat, memelihara, dan menjalankan paket yang menargetkan SQL Server 2016, SQL Server 2014, atau SQL Server 2012. Untuk mendapatkan SSDT untuk Visual Studio 2015, lihat Mengunduh SQL Server Data Tools Terbaru.
Di Penjelajah Solusi, klik kanan proyek Layanan Integrasi dan pilih Properti untuk membuka halaman properti untuk proyek. Pada tab UmumProperti Konfigurasi, pilih properti TargetServerVersion, lalu pilih SQL Server 2016, SQL Server 2014, atau SQL Server 2012.
Dukungan beberapa versi dan multi-penargetan untuk komponen kustom
Kelima jenis ekstensi kustom SSIS mendukung multi-penargetan.
- Pengelola koneksi
- Tugas
- Enumerator
- Penyedia log
- Komponen aliran data
Untuk ekstensi terkelola, SSIS Designer memuat versi ekstensi untuk versi target yang ditentukan. Contohnya:
- Ketika versi target SQL Server 2012, perancang memuat versi ekstensi 2012.
- Ketika versi target SQL Server 2016, perancang memuat versi ekstensi 2016.
Ekstensi COM tidak mendukung multi-penargetan. SSIS Designer selalu memuat ekstensi COM untuk versi SQL Server saat ini, terlepas dari versi target yang ditentukan.
Menambahkan dukungan dasar untuk beberapa versi dan multi-penargetan
Untuk panduan dasar, lihat Mendapatkan ekstensi kustom SSIS Anda agar didukung oleh dukungan multi-versi SSDT 2015 untuk SQL Server 2016. Posting blog ini menjelaskan langkah atau persyaratan berikut.
Sebarkan rakitan Anda ke folder yang sesuai.
Buat file peta ekstensi untuk SQL Server 2014 dan versi tinggi.
Menambahkan kode untuk beralih versi
Beralih versi di manajer koneksi kustom, tugas, enumerator, atau penyedia log
Untuk manajer koneksi kustom, tugas, enumerator, atau penyedia log, tambahkan logika downgrade dalam metode SaveToXML .
public void SaveToXML(XmlDocument doc, IDTSInfoEvents events)
{
if (TargetServerVersion == DTSTargetServerVersion.SQLServer2014)
{
// Add logic to downgrade from SQL Server 2016 to SQL Server 2014.
}
if (TargetServerVersion == DTSTargetServerVersion.SQLServer2012)
{
// Add logic to downgrade from SQL Server 2016 to SQL Server 2012.
}
}
Beralih versi dalam komponen aliran data kustom
Untuk manajer koneksi kustom, tugas, enumerator, atau penyedia log, tambahkan logika penurunan tingkat dalam metode PerformDowngrade baru.
public override void PerformDowngrade(int pipelineVersion, DTSTargetServerVersion targetServerVersion)
{
if (targetServerVersion == DTSTargetServerVersion.DTSTSV_SQLSERVER2014)
{
// Add logic to downgrade from SQL Server 2016 to SQL Server 2014.
ComponentMetaData.Version = 8;
}
if (targetServerVersion == DTSTargetServerVersion.DTSTSV_SQLSERVER2012)
{
// Add logic to downgrade from SQL Server 2016 to SQL Server 2012.
ComponentMetaData.Version = 6;
}
}
Kesalahan umum
InvalidCastException
Pesan kesalahan. Tidak dapat mentransmisikan objek COM jenis 'System.__ComObject' ke jenis antarmuka 'Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSComponentMetaData100'. Operasi ini gagal karena panggilan QueryInterface pada komponen COM untuk antarmuka dengan IID '{BE8C48A3-155B-4810-BA5C-BDF68A659E9E}' gagal karena kesalahan berikut: Tidak ada antarmuka yang didukung (Pengecualian dari HRESULT: 0x80004002 (E_NOINTERFACE)). (Microsoft.SqlServer.DTSPipelineWrap).
Solusi. Jika ekstensi kustom Anda mereferensikan rakitan interop SSIS seperti Microsoft.SqlServer.DTSPipelineWrap atau Microsoft.SqlServer.DTSRuntimeWrap, atur nilai properti Embed Interop Type ke False.
Tidak dapat memuat beberapa jenis saat versi target SQL Server 2012
Masalah ini memengaruhi jenis tertentu seperti IErrorReportingService atau IUserPromptService.
Pesan kesalahan (contoh). Tidak dapat memuat tipe 'Microsoft.DataWarehouse.Design.IErrorReportingService' dari rakitan 'Microsoft.DataWarehouse, Version=13.0.0.0, Culture=netral, PublicKeyToken=89845dcd8080cc91'.
Solusi. Gunakan MessageBox alih-alih antarmuka ini saat versi target SQL Server 2012.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk