여기 (대답을 모든 곳에서 검색하고 아무 것도 발견하지 후.) 나는이 매우 일을 한 방법은 내가 데이터 내보내기 마법사가 만든 패키지와 함께 시작
, 나의 지시는 관련이 있습니다. 이렇게하면 열 매핑이 설정됩니다. 패키지를 만들기 위해 내보내기 마법사를 사용하지 않았다면 직접 열을 추가해야 할 수도 있습니다.
- SQLFileName이라는 문자열 변수를 패키지에 추가하십시오.
- SQLCommand라는 문자열 변수를 패키지에 추가하십시오.
- 제어 흐름 시작시 스크립트 태스크를 추가하십시오.
- 스크립트 태스크를 편집하고 스크립트 섹션으로 이동하십시오.
- SQLFileName을 ReadOnlyVariables 섹션에 추가하십시오. .sql 파일의 경로를 으로 설정하십시오.
- ReadWriteVariables 섹션에 SQLCommand를 추가하십시오.
- 디자인 스크립트를 클릭하십시오.
- 아래 스크립트에 붙여 넣으십시오.그냥 SqlFileName으로 지정된 파일의 내용을 SQLCommand로 읽습니다.
- 나가서 스크립트 태스크를 나머지 제어 흐름에 연결하십시오.
- 데이터 흐름으로 이동하여 소스 쿼리를 선택하십시오. 속성 창을 사용하여 속성을 편집해야합니다. 공상 편집 창을 사용하면 이 아닌 명령 텍스트에 대해 오류가 발생합니다. SQLCommand 은 디자인 타임에 비어 있기 때문입니다.
- 변수에서 AccessMode to SQL 명령을 변경하십시오.
- SQLVariableName에서 SQLCommand를 선택하십시오.
- 소스 쿼리에 빨간색 X가 추가 된 것을 볼 수 있습니다. SQLCommand가 비어 있기 때문에 입니다. 빨간색 X를 방지하려면 ValidateExternalMetaData를 False로 변경하십시오.
그게 전부입니다. 나는 모든 것들을 기억하기를 바란다. 스크립트는 SQL을 변수로 가져온 다음 데이터 흐름에서 변수를 사용할 수 있도록 핵심 부분입니다.
Imports System
Imports System.IO
Imports Microsoft.SqlServer.Dts.Runtime
Public Class ScriptMain
Public Sub Main()
Try
Dts.Variables("SQLCommand").Value = System.IO.File.ReadAllText(Dts.Variables("SQLFileName").Value.ToString)
Dts.TaskResult = Dts.Results.Success
Catch oException As System.Exception
Dts.TaskResult = Dts.Results.Failure
End Try
End Sub
End Class
그런데 왜 당신은 패키지 내부를 사용하여 직접 파일 대신에서 쿼리를 끌어 하시겠습니까? 그리고 어떻게 패키지 내에서 이러한 쿼리를 사용하고 있습니까? 귀하의 요구 사항에 대해 더 자세히 설명하고 올바른 방법을 제안 할 수 있습니다. – Faiz
귀하의 질문에 답변을 올리기 위해 게시물을 편집했습니다. 감사합니다, – kubi