SSIS를 사용하여 PDF 파일을 내보내려고합니다. 내보낼 보고서에는 하나의 매개 변수 (유형 = 정수)가 있습니다. 정확히 here을 수행하는 코드를 인터넷에서 발견했습니다.SSIS는 0KB Pdf 파일을 만듭니다.
그러나이 코드를 ssis에서 실행하면 pdf가 내보내 지지만 파일 크기는 0KB입니다. pdf 파일을 열려고 할 때 오류가 발생합니다. 나는이 작업을 수행 할 때 나는 PDF 및 모든의 다운로드를받을
Imports System
Imports System.Data
Imports System.Net
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.ComponentModel
Imports System.Diagnostics
<System.AddIn.AddIn("ScriptMain", Version:="1.0", Publisher:="", Description:="")> _
<System.CLSCompliantAttribute(False)>
Partial Public Class ScriptMain
Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
Enum ScriptResults
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
End Enum
Protected Sub SaveFile(ByVal url As String, ByVal localpath As String)
Dim loRequest As System.Net.HttpWebRequest
Dim myCredentials As New NetworkCredential("username", "password")
Dim loResponse As System.Net.HttpWebResponse
Dim loResponseStream As System.IO.Stream
Dim loFileStream As New System.IO.FileStream(localpath, System.IO.FileMode.Create, System.IO.FileAccess.Write)
Dim laBytes(256) As Byte
Dim liCount As Integer = 1
Try
loRequest = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)
loRequest.Credentials = myCredentials
loRequest.Timeout = 600000
loRequest.Method = "GET"
loResponse = CType(loRequest.GetResponse, System.Net.HttpWebResponse)
loResponseStream = loResponse.GetResponseStream
Do While liCount > 0
liCount = loResponseStream.Read(laBytes, 0, 256)
loFileStream.Write(laBytes, 0, liCount)
Loop
loFileStream.Flush()
loFileStream.Close()
Catch ex As Exception
End Try
End Sub
Public Sub Main()
Dim url, destination As String
destination = Dts.Variables("varDestinationPath").Value.ToString + "\" + Dts.Variables("varRSParameter").Value.ToString + " " + Format(Now, "yyyyMMdd") + ".pdf"
url = "http://Server/ReportServer/Pages/ReportViewer.aspx?%2fMap%2fMap%2fMap%2Repportname&Parameter=" + Dts.Variables("varRSParameter").Value.ToString + "&rs:Format=PDF"
SaveFile(url, destination)
Dts.TaskResult = ScriptResults.Success
End Sub
나는 URL http://Server/ReportServer/Pages/ReportViewer.aspx?%2fMapName%2fMapName%2fMapName%2Repportname&Parameter= "parametersqlresults"형식 이동하려는 = PDF
: 아래
내가 사용하고있는 코드입니다 괜찮아. 내가보고 서버에 연결 무언가가 될 수 있다고 생각, 그래서 나는 코드에 이것을 추가 : 보안 나는 감사 성공을 볼 수 있습니다> 윈도우 로그에보고 서버에 또한`Imports System.Net
Dim myCredentials As New NetworkCredential("username", "password")
loRequest.Credentials = myCredentials`
제공된 사용자 이름과 암호로
pdf가 저장된 위치를 여러 위치로 변경했습니다. 나는 또한 그것을 고정 나는이 문제가 몇 달 전 일이 있었다
. 이건 오타예요? – DForck42
오타가 보이지 않습니다. 하지만 내 VBscript에서 Ctrl 키를 누른 채로 자격 증명을 묻는 메시지가 나타나면 해당 보고서를 볼 수 있습니다. – Vico