Se me ha pedido un par de veces que cambie el nombre de archivo dinámicamente en SSRS 2008. Ejemplo: ReportName_201101.RDL. El 201101 representa la fecha de ejecución. ¿Se puede lograr esto en SSRS 2008?Creación dinámica de nombre de archivo en SSRS 2008
Respuesta
Desafortunadamente, no, no es posible. Es otra de las características que faltan en los SSRS que los desarrolladores han estado pidiendo.
Si quiere decir el nombre del archivo cuando exporta el informe y también lo está extrayendo del ASP.NET ReportViewer, puede establecer el nombre mediante la propiedad DisplayName.
ReportViewerControl.ServerReport.DisplayName = "ReportName_201101";
o (si es ProcessingMode
local):
ReportViewerControl.LocalReport.DisplayName = "ReportName_201101";
para casi todos los demás casos, Alison es correcto.
Hay un MS Connect item abierto para esto. Solo tiene unos pocos votos, así que vaya y vuélvala ...
Otra alternativa, es cambiar el nombre del informe antes de que se ejecute automáticamente. Este es un diamante en bruto. Esto solo puede funcionar para informes que son suscripciones y no para los que los usuarios vuelven a vincular. Cree una tabla en la base de datos de ReportServer que contenga una lista de todos los informes a los que quiera cambiar el nombre antes de que se ejecuten. Tabla Report_Rename_Listing RenameID int ItemID uniqueidentifier OriginalReportName nvarchar (350) DateType nvarchar (75) Formato int DatePlusMinus verdadera crear un procedimiento almacenado en el mismo servidor que se apaga y cambia todos los informes en la tabla anterior.
Create Procedure [dbo].[RenameReports]
AS
SET NOCOUNT OFF ;
Update dbo.Catalog
Set Name = ISNULL((Select OriginalReportName + '_' +
dbo.func_SetupRenameOfReports(DateType, Format, DatePlusMinus)
From dbo.DDC_Report_Rename r
Where r.ItemID = c.ItemID), Name)
From dbo.Catalog c
return (0)
Cree una función escalar en el mismo servidor que resuelva cómo desea cambiar el nombre del informe.
Create Function [dbo].[func_SetupRenameOfReports]
(@DateType nvarchar(75), @Format int, @PlusMinus real )
RETURNS nvarchar(75)
AS
BEGIN
Declare @FirstMonth datetime, @LastMonth datetime
Declare @OutputFormat nvarchar(75)
Set @FirstMonth = CONVERT(datetime, Convert(varchar(2), DateAdd(mm, @PlusMinus, GetDate()), 103) + '/1/' + CONVERT(varchar(4), DateAdd(mm, @PlusMinus, GetDate()), 102))
Set @LastMonth = DATEADD(dd, -1, DateAdd(mm, 1, @FirstMonth))
Set @OutputFormat =
Case When @DateType = 'CurrentDate' Then Convert(varchar(75), DateAdd(dd, @PlusMinus, GetDate()), @Format)
When @DateType = 'CurrentDayName' Then CONVERT(varchar(75), DateName(dw, DateAdd(dd, @PlusMinus, GetDate())))
When @DateType = 'CurrentMonthName' Then CONVERT(varchar(75), DateName(mm, DateAdd(mm, @PlusMinus, GetDate())))
When @DateType = 'CurrentYear' Then CONVERT(varchar(75), DateAdd(yy, @PlusMinus, GetDate()))
When @DateType = 'CurrentBeginEndMonth' Then CONVERT(varchar(10), @FirstMonth, @Format) + '-' + CONVERT(varchar(10), @LastMonth, @Format)
End
If @OutputFormat IS null
Begin
Set @OutputFormat = ''
End
Return @OutputFormat
END
Luego configure esto para que el procedimiento almacenado se ejecute automáticamente a diario en su servidor. Lo tengo funcionando justo después de la medianoche todos los días.
Aquí hay una corrección del procedimiento almacenado anterior para que funcione realmente.
ALTER PROCEDURE [dbo].[ddc_RenameReports]
AS
SET NOCOUNT OFF ;
Update dbo.Catalog
Set Name = ISNULL((Select OriginalReportName + '_' +
dbo.func_SetupRenameOfReports(DateType, Format, DatePlusMinus)
From dbo.DDC_Report_Rename r
Where r.ItemID = c.ItemID And r.Active = 1), Name)
From dbo.Catalog c
Update c
Set c.Path = ISNULL((Select c2.Path + '/' + OriginalReportName + '_' +
dbo.func_SetupRenameOfReports(DateType, Format, DatePlusMinus)
From dbo.DDC_Report_Rename r2
Where r2.ItemID = c.ItemID AND r2.Active = 1), c.Path)
From dbo.Catalog c
inner join dbo.Catalog c2 on c2.ItemID = c.ParentID
return (0)
- 1. SSRS: Cómo crear una tabla dinámica de informes LIKE en ssrs 2008 r2
- 2. SSRS 2008, dll personalizado, archivo no encontrado
- 3. Fuente de datos compartida dinámica de SSRS
- 4. Creación dinámica de una clase desde un archivo en Python
- 5. SSRS 2008 Reparación del encabezado de fila
- 6. SSRS 2008 R2 Retorno de carro Problema
- 7. Creación dinámica de subdominios
- 8. JSP EL: creación dinámica del nombre de propiedad
- 9. Creación de un control personalizado de SSRS
- 10. la creación dinámica de clase en Ruby
- 11. Creación dinámica de clases en SQLAlchemy
- 12. Cómo suprimir subinformes vacíos en SSRS 2008
- 13. Creación dinámica de clases - Python
- 14. creación Clase dinámica en C#
- 15. Creación dinámica de clases en Objective-C
- 16. creación de nombre de archivo de ruta completa en python,
- 17. dividir por/solución nula cero en SSRS informe de 2008
- 18. Creación dinámica de páginas de contenido ASP.NET
- 19. Ruta de archivo dinámica y nombre de archivo para FileHandler en el archivo de configuración del registrador en python
- 20. clases creación dinámica con Java
- 21. EN SSRS, ¿hay alguna manera de deshabilitar la creación del archivo rdl.data?
- 22. Generar nombre de archivo con la fecha de creación
- 23. SSRS 2008 - Tratamiento de la división por escenarios cero
- 24. Nombre de la constante dinámica en PHP
- 25. $ id: nombre del archivo, la fecha/hora de creación Exp $
- 26. Creación dinámica de colas de mensajes asíncronos en Java
- 27. Cómo establecer la propiedad SSRS ConsumeContainerWhitespace en Visual Studio 2008?
- 28. Creación de configuraciones de ejecución de prueba en VS 2008
- 29. Creación dinámica de nombres de funciones con macros
- 30. de Python creación unittest y dinámica de casos de prueba
Esto es lo que estoy buscando, gracias por esto. – user2705620