.NET 앱에서 C# 코드를 사용하여 SSIS 프로젝트 배포
적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime
이 빠른 시작 자습서에서는 C# 코드를 작성하여 데이터베이스 서버에 연결하고 SSIS 프로젝트를 배포하는 방법을 보여 줍니다.
C# 앱을 만들려면 Visual Studio, Visual Studio Code 또는 원하는 다른 도구를 사용할 수 있습니다.
필수 조건
시작하기 전에 Visual Studio 또는 Visual Studio Code가 설치되어 있는지 확인합니다. Visual Studio 다운로드에서 Visual Studio의 무료 Community 버전 또는 무료 Visual Studio Code를 다운로드합니다.
Azure SQL Database 서버는 포트 1433에서 수신 대기합니다. 회사 방화벽 내에서 SQL Server 논리 서버로 연결을 시도하면 성공적인 연결을 위해 회사 방화벽에서 이 포트가 열려야 합니다.
지원되는 플랫폼
이 빠른 시작의 정보를 사용하여 다음과 같은 플랫폼에서 SSIS 프로젝트를 배포할 수 있습니다.
Windows의 SQL Server
Azure SQL Database. Azure에서 SSIS 패키지를 배포하고 실행하는 데 대한 자세한 내용은 SQL Server Integration Services 워크로드를 클라우드로 리프트 앤 시프트를 참조하세요.
이 빠른 시작의 정보를 사용하여 SQL Server on Linux에 SSIS 패키지를 배포할 수 없습니다. 자세한 내용은 Linux에서 SSIS를 사용하여 데이터 추출, 변환 및 로드를 참조하세요.
Azure SQL Database의 경우 연결 정보를 가져옵니다.
Azure SQL Database에서 프로젝트를 배포하려면 SSISDB(SSIS 카탈로그 데이터베이스)에 연결해야 하는 연결 정보를 가져옵니다. 다음 절차를 수행하려면 정규화된 서버 이름 및 로그인 정보가 필요합니다.
- Azure Portal에 로그인합니다.
- 왼쪽 메뉴에서 SQL 데이터베이스를 선택한 다음 SQL 데이터베이스 페이지에서 SSISDB 데이터베이스를 선택합니다.
- 데이터베이스의 개요 페이지에서 정규화된 서버 이름을 검토합니다. 복사하려면 클릭 옵션을 표시하려면 마우스로 서버 이름 위를 가리킵니다.
- Azure SQL Database 서버 로그인 정보를 잊은 경우, SQL Database 서버 페이지로 이동하여 서버 관리자 이름을 확인합니다. 필요한 경우 암호를 재설정할 수 있습니다.
- 데이터베이스 연결 문자열 표시를 클릭합니다.
- ADO.NET 연결 문자열 전체를 검토합니다. 필요에 따라 코드는 사용자가
SqlConnectionStringBuilder
제공하는 개별 매개 변수 값으로 이 연결 문자열 다시 만드는 데 사용할 수 있습니다.
지원되는 인증 방법
배포에 대한 인증 방법을 참조하세요.
새 Visual Studio 프로젝트 만들기
- Visual Studio에서 파일, 새로 만들기, 프로젝트를 선택합니다.
- 새 프로젝트 추가 대화 상자에서 Visual C#을 확장합니다.
- 콘솔 앱을 선택하고 프로젝트 이름으로 deploy_ssis_project를 입력합니다.
- 확인을 클릭하여 Visual Studio에서 새 프로젝트를 열고 만듭니다.
참조 추가
- 솔루션 탐색기에서 참조 노드를 마우스 오른쪽 단추로 클릭하고 참조 추가를 선택합니다. 참조 관리자 대화 상자가 열립니다.
- 참조 관리자 대화 상자에서 어셈블리를 펼치고 확장을 선택합니다.
- 다음 두 개의 참조를 선택하고 추가합니다.
- Microsoft.SqlServer.Management.Sdk.Sfc
- Microsoft.SqlServer.Smo
- 찾아보기 단추를 클릭하여 Microsoft.SqlServer.Management.IntegrationServices에 대한 참조를 추가합니다. (GAC(전역 어셈블리 캐시)에 어셈블리를 설치합니다.) 참조할 파일 선택 대화 상자가 열립니다.
- 참조할 파일 선택 대화 상자에서 어셈블리가 포함된 GAC 폴더로 이동합니다. 일반적으로 이 폴더는
C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91
입니다. - 폴더에서 어셈블리(즉 .dll 파일)를 선택하고 추가를 클릭합니다.
- 확인을 클릭하여 참조 관리자 대화 상자를 닫고 세 개의 참조를 추가합니다. 참조가 있는지 확인하려면 솔루션 탐색기 참조 목록을 확인합니다.
C# 코드를 추가합니다.
Program.cs를 엽니다.
Program.cs의 내용을 다음 코드로 바꿉니다. 서버, 데이터베이스, 사용자 및 암호에 적합한 값을 추가합니다.
참고 항목
이 예제에서는 Windows 인증을 사용합니다. SQL Server 인증을 사용하려면 인수 Integrated Security=SSPI;
을 User ID=<user name>;Password=<password>;
로 대체합니다. Azure SQL Database 서버에 연결하는 경우 Windows 인증을 사용할 수 없습니다.
using Microsoft.SqlServer.Management.IntegrationServices;
using System;
using System.Data.SqlClient;
using System.IO;
namespace deploy_ssis_project
{
class Program
{
static void Main(string[] args)
{
// Variables
string targetServerName = "localhost";
string targetFolderName = "Project1Folder";
string projectName = "Integration Services Project1";
string projectFilePath = @"C:\Projects\Integration Services Project1\Integration Services Project1\bin\Development\Integration Services Project1.ispac";
// Create a connection to the server
string sqlConnectionString = "Data Source=" + targetServerName +
";Initial Catalog=master;Integrated Security=SSPI;";
SqlConnection sqlConnection = new SqlConnection(sqlConnectionString);
// Create the Integration Services object
IntegrationServices integrationServices = new IntegrationServices(sqlConnection);
// Get the Integration Services catalog
Catalog catalog = integrationServices.Catalogs["SSISDB"];
// Create the target folder
CatalogFolder folder = new CatalogFolder(catalog,
targetFolderName, "Folder description");
folder.Create();
Console.WriteLine("Deploying " + projectName + " project.");
byte[] projectFile = File.ReadAllBytes(projectFilePath);
folder.DeployProject(projectName, projectFile);
Console.WriteLine("Done.");
}
}
}
코드 실행
- 애플리케이션을 실행하려면 F5 키를 누릅니다.
- SSMS에서 프로젝트가 배포되었는지 확인합니다.
다음 단계
- 패키지를 배포하는 다른 방법을 고려합니다.
- 배포된 패키지 실행 패키지를 실행하려면 여러 도구 및 언어 중에서 선택할 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.