Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı
Entegrasyon Hizmetleri paketleriyle programlı olarak çalışırken, bireysel bir paket veya klasörün var olup olmadığını belirlemek veya yüklemek ve çalıştırmak için mevcut olan kaydedilmiş paketleri saymak isteyebilirsiniz. İsim alanı sınıfıMicrosoft.SqlServer.Dts.Runtime, Application bu gereksinimleri karşılamak için çeşitli yöntemler sunar.
Bir paket veya klasörün var olup olmadığını belirlemek
Kaydedilen bir paketin var olup olmadığını programatik olarak belirlemek için, yüklemeye ve çalıştırmaya çalışmadan önce aşağıdaki yöntemlerden birini çağırın:
| Depolama Konumu | Çağırma Yöntemi |
|---|---|
| SSIS Paket Mağazası | ExistsOnDtsServer |
| SQL Server | ExistsOnSqlServer |
Bir klasörün içinde depolanan paketleri listelemeye çalışmadan önce programatik olarak var olup olmadığını belirlemek için aşağıdaki yöntemlerden birini çağırın:
| Depolama Konumu | Çağırma Yöntemi |
|---|---|
| SSIS Paket Mağazası | FolderExistsOnDtsServer |
| SQL Server | FolderExistsOnSqlServer |
Mevcut Paketlerin Sayılması
Kayıtlı paketlerin listesini programatik olarak elde etmek için aşağıdaki yöntemlerden birini çağırın:
| Depolama Konumu | Çağırma Yöntemi |
|---|---|
| SSIS Paket Mağazası | GetDtsServerPackageInfos |
| SQL Server | GetPackageInfos |
Aşağıdaki örnekler, bu yöntemlerin kullanımını gösteren konsol uygulamalarıdır.
Örnek (SSIS Paket Mağazası)
SSIS Paket Deposu'nda depolanan paketleri listelemek için bu GetDtsServerPackageInfos yöntemi kullanın. SSIS Paket deposu tarafından yönetilen varsayılan depolama konumları Dosya Sistemi ve MSDB'dir. Bu konumlar içinde ek mantıksal klasörler oluşturabilirsiniz.
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();
}
}
}
Örnek (SQL Server)
Bu yöntemi, SQL Server'ın bir örneğinde saklanan Entegrasyon Hizmetleri paketlerini listelemek için kullanınGetPackageInfos.
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();
}
}
}