Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
SSIS Integration Runtime di Azure Data Factory
Saat Anda bekerja secara terprogram dengan paket Integration Services, Anda mungkin ingin menentukan apakah paket atau folder individual ada, atau untuk menghitung paket tersimpan yang tersedia untuk dimuat dan dijalankan. Kelas Application Microsoft.SqlServer.Dts.Runtime namespace layanan menyediakan berbagai metode untuk memenuhi persyaratan ini.
Menentukan Apakah Ada Paket atau Folder
Untuk menentukan secara terprogram apakah ada paket yang disimpan, panggil salah satu metode berikut sebelum mencoba memuat dan menjalankannya:
| Lokasi Penyimpanan | Metode untuk Memanggil |
|---|---|
| Penyimpanan Paket SSIS | ExistsOnDtsServer |
| SQL Server | ExistsOnSqlServer |
Untuk menentukan secara terprogram apakah folder ada sebelum mencoba mencantumkan paket yang disimpan di dalamnya, panggil salah satu metode berikut:
| Lokasi Penyimpanan | Metode untuk Memanggil |
|---|---|
| Penyimpanan Paket SSIS | FolderExistsOnDtsServer |
| SQL Server | FolderExistsOnSqlServer |
Menghitung Paket yang Tersedia
Untuk mendapatkan daftar paket yang disimpan secara terprogram, panggil salah satu metode berikut:
| Lokasi Penyimpanan | Metode untuk Memanggil |
|---|---|
| Penyimpanan Paket SSIS | GetDtsServerPackageInfos |
| SQL Server | GetPackageInfos |
Sampel berikut adalah aplikasi konsol yang menunjukkan penggunaan metode ini.
Contoh (Penyimpanan Paket SSIS)
GetDtsServerPackageInfos Gunakan metode untuk mencantumkan paket yang disimpan di Penyimpanan Paket SSIS. Lokasi penyimpanan default yang dikelola oleh penyimpanan Paket SSIS adalah Sistem File dan MSDB. Anda dapat membuat folder logis tambahan dalam lokasi ini.
Imports Microsoft.SqlServer.Dts.Runtime
Module Module1
Sub Main()
Dim sqlFolder As String
Dim sqlServer As String
Dim ssisApplication As Application
Dim sqlPackages As PackageInfos
Dim sqlPackage As PackageInfo
sqlServer = "."
ssisApplication = New Application()
' Get packages stored in MSDB.
sqlFolder = "MSDB"
sqlPackages = ssisApplication.GetDtsServerPackageInfos(sqlFolder, sqlServer)
If sqlPackages.Count > 0 Then
Console.WriteLine("Packages stored in MSDB:")
For Each sqlPackage In sqlPackages
Console.WriteLine(sqlPackage.Name)
Next
Console.WriteLine()
End If
' Get packages stored in the File System.
sqlFolder = "File System"
sqlPackages = ssisApplication.GetDtsServerPackageInfos(sqlFolder, sqlServer)
If sqlPackages.Count > 0 Then
Console.WriteLine("Packages stored in the File System:")
For Each sqlPackage In sqlPackages
Console.WriteLine(sqlPackage.Name)
Next
End If
Console.Read()
End Sub
End Module
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace EnumeratePackagesSSIS_CS
{
class Program
{
static void Main(string[] args)
{
string sqlFolder;
string sqlServer;
Application ssisApplication;
PackageInfos sqlPackages;
sqlServer = ".";
ssisApplication = new Application();
// Get packages stored in MSDB.
sqlFolder = "MSDB";
sqlPackages = ssisApplication.GetDtsServerPackageInfos(sqlFolder, sqlServer);
if (sqlPackages.Count > 0)
{
Console.WriteLine("Packages stored in MSDB:");
foreach (PackageInfo sqlPackage in sqlPackages)
{
Console.WriteLine(sqlPackage.Name);
}
Console.WriteLine();
}
// Get packages stored in the File System.
sqlFolder = "File System";
sqlPackages = ssisApplication.GetDtsServerPackageInfos(sqlFolder, sqlServer);
if (sqlPackages.Count > 0)
{
Console.WriteLine("Packages stored in the File System:");
foreach (PackageInfo sqlPackage in sqlPackages)
{
Console.WriteLine(sqlPackage.Name);
}
}
Console.Read();
}
}
}
Contoh (SQL Server)
GetPackageInfos Gunakan metode untuk mencantumkan paket Layanan Integrasi yang disimpan dalam instans SQL Server.
Imports Microsoft.SqlServer.Dts.Runtime
Module Module1
Sub Main()
Dim sqlFolder As String
Dim sqlServer As String
Dim sqlUser As String
Dim sqlPassword As String
Dim ssisApplication As Application
Dim sqlPackages As PackageInfos
Dim sqlPackage As PackageInfo
sqlFolder = String.Empty
sqlServer = "(local)"
sqlUser = String.Empty
sqlPassword = String.Empty
ssisApplication = New Application()
sqlPackages = ssisApplication.GetPackageInfos(sqlFolder, sqlServer, sqlUser, sqlPassword)
For Each sqlPackage In sqlPackages
Console.WriteLine(sqlPackage.Name)
Next
Console.Read()
End Sub
End Module
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace EnumeratePackagesSql_CS
{
class Program
{
static void Main(string[] args)
{
string sqlFolder;
string sqlServer;
string sqlUser;
string sqlPassword;
Application ssisApplication;
PackageInfos sqlPackages;
sqlFolder = String.Empty;
sqlServer = "(local)";
sqlUser = String.Empty;
sqlPassword = String.Empty;
ssisApplication = new Application();
sqlPackages = ssisApplication.GetPackageInfos(sqlFolder, sqlServer, sqlUser, sqlPassword);
foreach (PackageInfo sqlPackage in sqlPackages)
{
Console.WriteLine(sqlPackage.Name);
}
Console.Read();
}
}
}