1

здесь мы получили старую БД при прогрессе, и мы хотим напечатать метки с нее с помощью vs2012, мы обнаружили, что для этого нужно сделать WCF и rdlc, На локальном хосте он отлично работает, я могу получить ярлыки, напечатанные, а файлы журналов показывают, что вся информация в порядке, но когда я запускаю ее на сервере (по протоколу прогресса или с помощью WcfTestClient.exe), это дает мне ошибку, мой файл журнала показывает, что отчет не готов к рендерингу, даже когда я запускаю его с использованием тех же параметров,Мой Rdlc работает на моем компьютере, но не на сервере

Я не использую набор данных, потому что для отчета нужны только параметры для печати этикеток.

Пожалуйста, не грубите, я на самом деле новичок в этом, 2 недели назад Я не знал, что такое Wcf, rdlc, SSRS и ничего об этом, это все новое для меня, поэтому ожидайте некоторые ошибки noobish ,

Вот фрагмент кода, который хорошо работает на локальном хосте, но не на сервере;

Public Class GoPrint 
Shared Sub StartPrinting(ByVal vpdfname As String, ByVal vExt As String, ByVal vPDFPath As String, ByVal deviceInfo As String, ByVal StreamPath As String, ByVal vReportPath As String, ByVal vReportEmbedded As String, ByVal vPrinter As String, ByVal vParams As String) 'Viene de R4, inicia el proceso y manda parametros 
    On Error GoTo Issues 
    Registro("StartPrinting", "--------------------------------------------------------------") 
    Dim ErrorEnReferencias As Boolean = False 
    If IsNothing(vParams) Then 
     Registro("StartPrinting", "Error: Los parametros estaban vacios") 
     ErrorEnReferencias = True 
    End If 
    If Not File.Exists(vReportPath.Replace("|", "\")) Then 
     Registro("StartPrinting", "Error: No se encontro el path del reporte") 
     ErrorEnReferencias = True 
    End If 
    If Not File.Exists(vReportEmbedded.Replace("|", "\")) Then 
     Registro("StartPrinting", "Error: No se encontro el path del reporte incrustado") 
     ErrorEnReferencias = True 
    End If 
    If Not ErrorEnReferencias Then 
     Registro("StartPrinting", "No se encontraron errores en los parametros enviados") 
     Registro("StartPrinting", "Lista de parametros del reporte excepto vParams (Nombre,Valor):") 
     Registro("StartPrinting", " +vpdfname = " & vpdfname) 
     Registro("StartPrinting", " +vExt = " & vExt) 
     Registro("StartPrinting", " +vPDFPath = " & vPDFPath) 
     Registro("StartPrinting", " +deviceInfo = " & deviceInfo) 
     Registro("StartPrinting", " +StreamPath = " & StreamPath) 
     Registro("StartPrinting", " +vReportPath = " & vReportPath) 
     Registro("StartPrinting", " +vReportEmbedded = " & vReportEmbedded) 
     Registro("StartPrinting", " +vPrinter = " & vPrinter) 
     Dim qtyOfParams As Integer = (CountCharacters(vParams, "|"c)/3) 
     Dim SplitParams() As String = vParams.Split(New Char() {"|"c}) 
     Dim EtqParams() As ReportParameter = New ReportParameter(qtyOfParams - 1) {} 
     Registro("StartPrinting", "Lista de parametros (vParam) del reporte (Nombre,Valor,Visible):") 
     For count = 1 To qtyOfParams 
      If SplitParams(1 + (count * 3 - 3)).IndexOf("[#") <> -1 Then SplitParams(1 + (count * 3 - 3)) = EncodeBarcodes(SplitParams(1 + (count * 3 - 3))) 
      EtqParams(count - 1) = (New ReportParameter(CStr(SplitParams(0 + (count * 3 - 3))), CStr(SplitParams(1 + (count * 3 - 3))), SplitParams(2 + (count * 3 - 3)))) 
      Registro("StartPrinting", " +" & CStr(SplitParams(0 + (count * 3 - 3))) & "," & CStr(SplitParams(1 + (count * 3 - 3))) & "," & SplitParams(2 + (count * 3 - 3))) 
     Next 
     Dim permissions As New PermissionSet(PermissionState.Unrestricted) 
     Dim MYreport As LocalReport = New LocalReport() 
     MYreport.SetBasePermissionsForSandboxAppDomain(permissions) 
     MYreport.ReportPath = vReportPath.Replace("|", "\") 'No puedo pasar \ como parametro y mando | para los paths 
     MYreport.ReportEmbeddedResource = vReportEmbedded.Replace("|", "\") 
     MYreport.DataSources.Clear() 
     If MYreport.IsReadyForRendering Then 
      Registro("StartPrinting", "MYreport.IsReadyForRendering = Si") 
      MYreport.SetParameters(EtqParams) 
      MYreport.Refresh() 
      Registro("StartPrinting", "Creacion del reporte local y asignacion de propiedades terminada") 
      Registro("StartPrinting", " +MYreport.SetBasePermissionsForSandboxAppDomain(permissions), unrestricted") 
      Registro("StartPrinting", " +MYreport.ReportPath = " & MYreport.ReportPath) 
      Registro("StartPrinting", " +MYreport.ReportPath = " & MYreport.ReportEmbeddedResource) 
      Registro("StartPrinting", " +MYreport.SetParameters(EtqParams), (Lista de parametros)") 
      Dim PrintReport = New Reporting 
      PrintReport.Export(MYreport, vpdfname, vExt, vPDFPath.Replace("|", "\"), deviceInfo, StreamPath.Replace("|", "\")) 
      Registro("StartPrinting", "Creacion de pdf y raw de impresion completa") 
      PrintReport.Print(vPrinter) 
     Else 
      Registro("StartPrinting", "MYreport.IsReadyForRendering = No") 
     End If 
     Registro("StartPrinting", "Proceso finalizado") 
     Registro("StartPrinting", "--------------------------------------------------------------") 
    End If 
Issues: 
     Registro("StartPrinting", Err.Number & " " & Err.Description) 
     Registro("StartPrinting", "--------------------------------------------------------------") 
End Sub 

А вот что показывает мой лог-файл,

Registro de Errores 
StartPrinting; -------------------------------------------------------------- -- 12/26/2014 5:05:37 PM 
StartPrinting; No se encontraron errores en los parametros enviados -- 12/26/2014 5:05:37 PM 
StartPrinting;  +Lista de parametros del reporte excepto vParams (Nombre,Valor): -- 12/26/2014 5:05:37 PM 
StartPrinting;  +vpdfname = TST00003_1_AmaLbl -- 12/26/2014 5:05:37 PM 
StartPrinting;  +vExt = pdf -- 12/26/2014 5:05:37 PM 
StartPrinting;  +vPDFPath = ||vsn2k841|WCFparaRPT|AmaLbl|PDF| -- 12/26/2014 5:05:37 PM 
StartPrinting;  +deviceInfo = <DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>3in</PageWidth><PageHeight>5in</PageHeight><MarginTop>0in</MarginTop><MarginLeft>0in</MarginLeft><MarginRight>0in</MarginRight><MarginBottom>0in</MarginBottom></DeviceInfo> -- 12/26/2014 5:05:37 PM 
StartPrinting;  +StreamPath = ||vsn2k841|WCFparaRPT|AmaLbl|Stream| -- 12/26/2014 5:05:37 PM 
StartPrinting;  +vReportPath = ||vsn2k841|WCFparaRPT|AmaLbl|AmaLbl.rdlc -- 12/26/2014 5:05:37 PM 
StartPrinting;  +vReportEmbedded = ||vsn2k841|WCFparaRPT|AmaLbl|AmaLbl.rdlc -- 12/26/2014 5:05:37 PM 
StartPrinting;  +vPrinter = LaserESCLOG -- 12/26/2014 5:05:37 PM 
StartPrinting; Lista de parametros (vParam) del reporte (Nombre,Valor,Visible): -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PSFN,LOUISVILLE LADDER,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PSFA,855 DUNKS FERRY RD,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PSFZ,19020,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PSTN,AMAZON.COM.DEDC LLC,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PSTA,1 CENTERPOINT BLVD.,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PSTZ,19720,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PBCZ,*19720*,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PCar,UPSA,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PPro,Test ETQ,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PBol,435462,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PPO,TST00003,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PUPC,728865090928,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PQTY,3,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PCartonNo,1,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PCartonTo,1,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PBCPO,*TST00003*,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PBCSSCC,›˜€*hxa$CN4.^œ,True -- 12/26/2014 5:05:37 PM 
StartPrinting;  +PSSCC,00107288650435462014,True -- 12/26/2014 5:05:37 PM 
StartPrinting; MYreport.IsReadyForRendering = No -- 12/26/2014 5:05:38 PM 
StartPrinting; Proceso finalizado -- 12/26/2014 5:05:38 PM 
StartPrinting; -------------------------------------------------------------- -- 12/26/2014 5:05:38 PM 
StartPrinting; 0 -- 12/26/2014 5:05:38 PM 
StartPrinting; -------------------------------------------------------------- -- 12/26/2014 5:05:38 PM 

Единственное различие между этим журналом и рабочим является то, что отчеты делают и продолжайте идти на процесс печати, я использую точные те же параметры,

BTW, уже получил мои dlls в папке bin.

+0

Просто обновление, я изменил свойства reportpath и reportembeddedresource для потока Dim streamrdlc As FileStream = File.OpenRead (vReportPath.Replace ("|", "\")) MYreport.LoadReportDefinition (streamrdlc) Все еще работает localhost, но не на сервере – MarxRx

ответ

0

Я, наконец, получил его работу несколько дней назад, я был ussing 2 dlls из Microsoft.reportviewer.common и microsoft.reportviewer.webforms, как v10, я получал их также в папке с папкой bin, однако, однажды в сервер эти dll не работали, мне пришлось использовать общий v9 и webform one v11, чтобы это работало.

Смежные вопросы