Saltar al contenido

La definición del informe tiene un espacio de nombres de destino no válido rsInvalidReportDefinition

Necesitamos tu apoyo para compartir nuestros artículos con relación a las ciencias informáticas.

Solución:

Editar: la versión específica del informe que estableció como TargetServerVersion La propiedad se crea en la carpeta BIN (debug o donde sea que construyas) siempre que no estés usando ninguna característica de 2016.

Estoy tratando de encontrar la misma respuesta. Pensaría que simplemente configurar TargetServerVersion de la solución de la forma en que lo hizo haría que usara el derecho definición de informe (u opcionalmente, podrían darle la opción de agregar un elemento de informe anterior a 2016)

Hasta entonces, si hace clic con el botón derecho en .rdl y “ver código”, puede cambiar las siguientes líneas para que funcione en SQL 2014; solo haga una copia de seguridad de su .rdl original en caso de que cometa un error:

1) Reemplace la línea xmlns del informe con lo siguiente:


2) Eliminar las líneas ReportSections y ReportSection, acuerdo la etiqueta del cuerpo de la estructura del árbol secundario, etc. debajo de ella). Así que elimina estos:

  
    

y estos…

    
  

3) Eliminar toda la sección ReportParametersLayout. Entonces (por ejemplo) elimina esto:

  
    
      4
      2
    
  

Pulse guardar, vuelva al diseño y ejecute el informe. Si no ha modificado el diseño, funcionará en SQL2014. En el momento en que cambie cualquier campo, volverá al esquema de 2016.

Si alguien ve una forma de solucionar este comportamiento, háganoslo saber. ¡Gracias!

Puede obtener informes en varios formatos de versión diferentes de Visual Studio con los siguientes pasos:

  1. En las páginas de propiedades del proyecto, configure el TargetServerVersion al formato deseado (en este caso SQL Server 2008 R2, 2012 or 2014)
  2. construir el proyecto
  3. Encuentre los rdl en el formato deseado en la carpeta de salida de compilación (especificada también en las Páginas de propiedades del proyecto: Build => OutputPath)

Escribí un script de PowerShell simple que sigue las ideas de la respuesta aceptada.

$file = (Get-Content "InputFileNameHere.rdl") 

# Unwraps the Body and the Page element. 
# Simple string replacement
$file = $file -replace '',""
$file = $file -replace '',""
$file = $file -replace '',""
$file = $file -replace '',""

# Parse the XML doc
$xml = [xml]$file;

# Set the XML namespace
$xml.Report.xmlns = "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition";

# Delete ReportParametersLayout node    
$xml.Report.RemoveChild($xml.Report.ReportParametersLayout);

# Save the file
Set-Content -Value $xml.OuterXml -Path "OutputFilenameHere.rdl"

Edite la primera línea para que coincida con su archivo de entrada y la última línea, guárdela como algo.ps, ejecútela y cargue el nuevo archivo.

Aquí tienes las comentarios y puntuaciones

Si sostienes alguna vacilación o capacidad de enriquecer nuestro artículo te mencionamos añadir una acotación y con mucho gusto lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *