서버 측 현명한 ASP.NET 응용 프로그램을 사용하면 추측 할 수있는 다른 .NET 응용 프로그램과 거의 비슷합니다. 여기에 SSIS 패키지 (SQLServer 2008)를 실행하는 코드 샘플이 있지만이 프로젝트의 NDA에 있기 때문에 copy'n'paste 할 수 없습니다.
그러나 우리는 Microsoft.SqlServer.Dts.Runtime.Wrapper라는 네임 스페이스를 사용하고 있으며 패키지 및 응용 프로그램과 DTSExecResult 열거 형 인터페이스를 사용하고 있다고 말할 수 있습니다. 제대로 작동합니다.
그리고 우리 데이터베이스에도 엑셀 시트를 가져오고 있습니다.
편집 : 는 여기에 우리가 여기 어떻게의 개요입니다 : 우리는 엑셀 시트를 가지고 우리가 우리의 시스템에 가져올 데이터를 포함하는. 우리 시스템은 ASP.NET 3.5/Castle Project/SQLServer 2008을 지원합니다. 사용자가 새 시트를 시스템에 업로드하면이를 폴더에 저장합니다. "c : \ UPLOAD"라고합시다. 동작이 트리거되므로 SSIS 패키지를 호출하여 SQL Server 2008로 가져옵니다.
우리는 (C#)를 구현하는 방법 :
Package package;
Application app;
DTSExecuteResult packageResult;
String packagePath = ""; // You have to get your physical path to your package.
app = new Application();
app.PackagePassword = "password"; // We have it here..
package = (Package)app.LoadPackage(packagePath, true, null);
packageResult = package.Execute();
그 모든 클래스가 같은 네임 스페이스, Microsoft.SqlServer.Dts.Runtime.Wrapper 출신, 내가 전에 언급 한 바와 같이.
액세스 문제가있는 경우 DBA에게 권한을 요청하거나 SSIS 패키지를 실행하기 위해 새 권한을 만들도록 요청하는 것이 좋습니다. 추가 권한 수준이 필요하기 때문입니다.
희망이 도움이 될 수 있습니다.
이 답변도 알고 싶습니다. – NotMe
wtaniguchi와 Eric, 도와 주셔서 대단히 감사합니다. 당신의 솔루션은 아마도 더 강력하고 강력 할 수 있습니다.하지만 우리의 설정에 적응하기 위해 다음을 수행했습니다. 이것이 실행 방법입니다. – LizardJack
dba는 sp_start_job 작업 (특정 도메인 계정을 통해 수행됨)을 실행할 수있는 권한을 부여해야했습니다. SQLAgentReaderRole SQLAgentUserRole 그때 .NET 2.0을 통해 그것을 실행하려면 다음 마이크로 소프트 코드를 사용 SQLAgentOperatorRole : http://msdn.microsoft.com/ 나는 그가 또한 다음과 같은 역할로 나에게 권한을 부여했다 생각 ko-kr/library/ms403355.aspx 코드를 그대로 사용하고 다음 작업을 내 이름으로 변경해야합니다. jobParameter.Value = "RunSSISPackage" – LizardJack