ssrs-2008 - unable - reporting services visual studio 2017
En SSRS, ¿por qué obtengo el error "artículo con la misma clave que ya se ha agregado", cuando estoy haciendo un nuevo informe? (4)
Recibo el siguiente error en SSRS
, y me ha estado desconcertando desde hace un tiempo:
An error occurred while the query design method was being saved.
An item with the same key has already been added
Sin embargo, ¿qué significa un "artículo"? Incluso intenté editar el RDL
y eliminar todas las referencias al Procedimiento almacenado que necesito usar llamado prc_RPT_Select_BI_Completes_Data_View
.
¿Podría esto tener que ver con el hecho de que el Procedimiento almacenado utiliza SQL dinámico (la notación N''
)?
Por la mañana, en el procedimiento almacenado tengo:
SET @SQL + = N ''SELECCIONA bi.SupplierID como'' ''ID del proveedor'' '', bi.SupplierName como'' ''Nombre del proveedor'' ''
,bi.PID as ''''PID''''
,bi.RespondentID as ''''Respondent ID''''
,lk_slt.Name as ''''Entry Link Type''''
,ts.SurveyNumber as ''''Initial Survey ID''''''
Acabo de recibir este error y llegué a saber que se trata del alias de la variable local
al final del procedimiento almacenado tuve como
select @localvariable1,@localvariable2
funcionaba bien en sql, pero cuando ejecuté esto en ssrs siempre estaba arrojando un error, pero después de dar un alias se soluciona
select @localvariable1 as A,@localvariable2 as B
Me enfrento al mismo problema. Después de la depuración, solucioné lo mismo. si el nombre de la columna en su consulta sql tiene varias veces, entonces este problema ocurre. Por lo tanto, use un alias en la consulta sql para diferenciar el nombre de la columna. Ejemplo: la consulta siguiente funcionará correctamente en la consulta sql pero crea un problema en el informe de SSRS:
Seleccione P.ID, P.FirstName, P.LastName, D.ID, D.City, D.Area, D.Address de PersonalDetails P Left Join CommunicationDetails D On P.ID = D.PersonalDetailsID
Motivo: ID ha mencionado dos veces (varias veces)
Corregir consulta:
Seleccione P.ID como PersonalDetailsID, P.FirstName, P.LastName, D.ID, D.City, D.Area, D.Address de PersonalDetails P Left Join CommunicationDetails D On P.ID = D.PersonalDetailsID
Parece que SSRS tiene un problema (al menos en la versión 2008) - Estoy estudiando este sitio web que lo explica
Donde dice que si tiene dos columnas (de 2 tablas de diferencias) con el mismo nombre, entonces causará ese problema.
De la fuente:
SELECCIONE a.Field1, a.Field2, a.Field3, b.Field1, b.field99 FROM TableA a JOIN TableB b en a.Field1 = b.Field1
SQL lo manejó muy bien, ya que había prefijado cada uno con un nombre de alias (tabla). Pero SSRS usa solo el nombre de la columna como la clave, no la tabla + columna, por lo que se estaba ahogando.
La solución fue fácil, ya sea cambiar el nombre de la segunda columna, iebField1 AS Field01 o simplemente omitir el campo todos juntos, que es lo que hice.
Tengo experiencia con este problema en el pasado. Basado en eso, puedo decir que generalmente obtenemos este problema si su conjunto de datos tiene múltiples nombres de campo que apuntan a la misma fuente de campo. Eche un vistazo a las siguientes publicaciones para obtener una descripción detallada del error
http://www.bi-rootdata.com/2012/09/an-error-occurred-during-report.html
http://www.bi-rootdata.com/2012/09/an-item-with-same-key-has-already-been.html
En su caso, debe verificar todos los nombres de campo devueltos por Sp prc_RPT_Select_BI_Completes_Data_View y asegúrese de que todos los campos tengan un nombre único.