파일을 디렉터리에 업로드 할 때마다 XML 파일을 구문 분석하기 위해 SSIS를 호출해야하는 응용 프로그램이 있습니다..NET에서 프로그래밍 방식으로 SSIS를 호출하려면 어떻게해야합니까?
.NET Windows 서비스에서 직접 SSIS를 호출 할 수 있습니까?
파일을 디렉터리에 업로드 할 때마다 XML 파일을 구문 분석하기 위해 SSIS를 호출해야하는 응용 프로그램이 있습니다..NET에서 프로그래밍 방식으로 SSIS를 호출하려면 어떻게해야합니까?
.NET Windows 서비스에서 직접 SSIS를 호출 할 수 있습니까?
Running SSIS package programmatically.
시작 DTEXEC.EXE 과정 :
나는 두 번째 방법을 선호합니다. DTEXEC은 SSIS 패키지를 실행하기위한 명령 줄 유틸리티입니다. 여기에 해당 명령 줄 옵션을 참조하십시오. http://msdn2.microsoft.com/en-us/library/ms162810.aspx이점 : 프로세스 실행중인 패키지 안정성이 향상됩니다. 모든 프로그래밍 언어 (.NET 1.1 :) 포함)에서 사용할 수 있습니다. 변수 값을 설정하여 매개 변수를 전달하기 쉽습니다.
단점 : 또한 로컬에만 해당됩니다. 패키지 진행 상황에 대한 정보를 얻는 것이 어렵습니다 (SSIS 로깅은 대부분의 기능을 제공 할 수 있습니다). 새 프로세스 시작에 약간의 오버 헤드가 발생합니다 (큰 패키지의 경우 실행 시간과 비교할 때 최소 임).
ASP.NET 특정 : Win32 CreateProcess 함수는 스레드 가장을 무시합니다. 따라서 DTEXEC을 ASP.NET 프로세스 계정과 다른 계정으로 실행하려면 사용자가 이름/암호를 입력하여 Process.Start로 전달하거나 다음 KB에 설명 된 방법을 사용하여 가장 된 계정 http://support.microsoft.com/kb/889251에서 하위 프로세스를 실행해야합니다 .
프로그래밍 방식으로 SSIS를 호출하고 패키지를 실행하고 DTS 런타임을 사용하여 .NET 코드에서 구성을 변경할 수 있습니다. Here is complete code of how you can do it.
당신은 다음과 같이 프로그래밍하여 SSIS 패키지를 실행할 수 있습니다 : HTTP : //hassanboutougha.wordpress.com/2012/10/13/run- 당신은 전체 샘플을 원하는 경우
using System;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
namespace ConsoleApplicationSSIS
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Loading SSIS Service...");
//Application object allows load your SSIS package
Application app = new Application();
//In order to retrieve the status (success or failure) after running SSIS Package
DTSExecResult result ;
//Specify the location of SSIS package - dtsx file
string SSISPackagePath = @"C:\Microsofts\BI\SSIS\ConsoleApplicationSSIS\IntegrationServiceScriptTask\Package.dtsx";
//Load your package
Package pckg = (Package)app.LoadPackage(SSISPackagePath,true,null);
//Execute the package and retrieve result
result = pckg.Execute();
//Print the status success or failure of your package
Console.WriteLine("{0}", result.ToString());
Console.ReadLine();
}
}
}
가로 이동 프로그래밍 방식으로/
간단한 SSIS 패키지를 만드는 방법과 프로그래밍 방식으로 콘솔 응용 프로그램에서 프로그래밍 방식으로 호출하는 방법을 설명합니다. C : \ Program Files (x86) \ Microsoft SQL Server \ 100 \ SDK \ Assemblies \ Microsoft.SQLServer.DTSRuntimeWrap.dll 런타임 ssis 네임 스페이스를 참조하십시오.
또한 변수를 전달할 수도 있습니다 프로그래밍 방식으로 또한 ssis 패키지의 원본 및 대상 연결을 변경하십시오.
Windows 서비스에서 SSIS 패키지를 호출 할 수 있습니다. 그러나 Microsoft.SqlServer.Dts는 Windows 서비스가 실행될 시스템에 설치해야합니다. 해당 컴퓨터에 DTS를 설치 한 경우 직접 SSIS 패키지를 호출하십시오. 설치되어 있지 않으면 다음을 수행해야합니다.
EXEC msdb.dbo.sp_start_job N'YourJobName '
희망이 있습니다. 단순히 가이드는 여기에서 찾을 수 있습니다 단계별 create_execution
및 set_execution_parameter
에 호출 저장 프로 시저를 작성하여 SQL 서버 2012에
당신은이 작업을 수행 할 수 있습니다 :
이 꽤 오래된 질문을 업데이트 https://blogs.msdn.microsoft.com/biblog/2013/05/07/step-by-step-of-executing-ssis-2012-package-through-stored-procedure/ 서비스/.NET 응용 프로그램 내에서 패키지를 실행
장점 : 당신은 당신의 패키지의 변수 컬렉션에 개체를 전달할 수 있습니다. (dtexec에 객체를 전달해보십시오 ...) – thijs