Program aracılığıyla kullanılabilir paketleri numaralandırılıyor
Programlı çalışmak gibi Integration Services paketleri, isteyebilirsiniz bir tek tek paket veya klasör var olup olmadığını belirlemek veya yüklenebilecek kaydedilmiş paketlerini numaralandırır ve yürütmek.The Application class of the Microsoft.SqlServer.Dts.Runtime namespace provides a variety of methods to satisfy these requirements.
Bu konudaki
Bir paket veya klasör var olup olmadığını belirleme
Kullanılabilir paketleri numaralandırılıyor
Örnek (SSIS paketi deposu)
Örnek (sql Server)
Yükleme ve paketleri program aracılığıyla çalışan hakkında daha fazla bilgi için bkz: SSIS paketi yerel bilgisayarda program aracılığıyla çalışan ve SSIS paketi program aracılığıyla bir uzak bilgisayarda çalışan.Program aracılığıyla paketleri ve klasörleri yönetme hakkında daha fazla bilgi için bkz: Program aracılığıyla paketleri ve klasörleri yönetme.
Bu konuda ele alınan tüm yöntemleri gerektiren bir başvuru Microsoft.SqlServer.ManagedDTS derleme.Yeni bir proje başvurusu ekledikten sonra almak Microsoft.SqlServer.Dts.Runtime ad alanı ile bir using veya Imports deyim.
Önemli |
---|
Yöntemleri Application sınıfı yalnızca SSIS paketi deposu desteği ile çalışmak için ".", localhost, veya sunucu adı için yerel sunucu"(Yerel)" kullanamazsınız. |
Bir paket veya klasör var olup olmadığını belirleme
Programlı olarak kaydedilmiş bir paket olup olmadığını belirlemek için varsa, yüklemek ve çalıştırmak denemeden önce aşağıdaki yöntemlerden birini arayın:
Depolama konumu |
Çağrı yöntemi |
---|---|
SSIS paketi deposu |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.ExistsOnDtsServer(System.String,System.String) ] |
SQL Server |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.ExistsOnSqlServer(System.String,System.String,System.String,System.String) ] |
Program aracılığıyla bir klasör içinde depolanan paketleri listelemek çalışmadan önce var olup olmadığını belirlemek için aşağıdaki yöntemlerden birini arayın:
Depolama konumu |
Çağrı yöntemi |
---|---|
SSIS paketi deposu |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.FolderExistsOnDtsServer(System.String,System.String) ] |
SQL Server |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.FolderExistsOnSqlServer(System.String,System.String,System.String,System.String) ] |
Başa dön
Kullanılabilir paketleri numaralandırılıyor
Programlı olarak kaydedilmiş paketlerin listesini almak için aşağıdaki yöntemlerden birini arayın:
Depolama konumu |
Çağrı yöntemi |
---|---|
SSIS paketi deposu |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.GetDtsServerPackageInfos(System.String,System.String) ] |
SQL Server |
[ M:Microsoft.SqlServer.Dts.Runtime.Application.GetPackageInfos(System.String,System.String,System.String,System.String) ] |
Aşağıdaki örnekler bu yöntemlerin kullanımını göstermektedir konsol uygulamalardır.
Örnek (SSIS paketi deposu)
Use GetDtsServerPackageInfos yöntem depolanan paketleri listelemek içinSSIS paketi deposu. SSIS paketi deposu tarafından yönetilen varsayılan depolama konumu, dosya sistemi ve msdb verilebilir.Bu konumları içinde mantıksal ek 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();
}
}
}
Başa dön
Örnek (sql Server)
Use GetPackageInfos yöntem listesine Integration Services saklanan paketler bir örnek , 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();
}
}
}
Başa dön
|