Reporting Services e bug su field empty

by Andrea 14 May 2007 12:05

Ebbene si, avete letto bene, mi sono trovato davanti ad un bug di Reporting Services che secondo me è davvero grave. Il problema si presenta quando usate una fonte dati xml, e uno dei field del primo elemento non ha valore (es <modello />). Se inserite il field in una lista, noterete che per tutta la colonna non verrà mai valorizzato, mentre, il tutto funziona correttamente se a non aver valore è un field che non sia nel primo elemento.

Se volete riprodurre l'errore, non dovete fare altro che usare come fonte dati un xml tipo questo (e lo impostate come sorgente dati nel report):

<?xml version="1.0" ?>
<automobili>
<auto><marca>fiat</marca><modello /></auto>
<auto><marca>fiat</marca><modello>punto</modello></auto>
</automobili> 

e come query scrivete:

<Query>
<ElementPath IgnoreNamespaces="true">
automobili/auto
</ElementPath>
</Query> 

Noterete che nel dataset non esisterà la colonna "modello", e questo perchè l'elemento "modello" (che è presente) nel xml non è valorizzato.

Ponendo il problema anche nei newsgroup Microsoft di SQL Server, vengo a sapere che sono a conoscenza del problema, e che per il momento non non c'è nessuna soluzione.
L'unica cosa che potete fare è intervenire nel file xml e fare in modo che tutti i campi siano valorizzati. Workaround non sempre praticabile e sicuramente non elegante, ma è l'unica strada percorribile per il momento.

Inutile provare con =Fields!modello.IsMissing o cose del genere perchè perdereste solo tempo, come è capitato a me. Quindi non ci resta che sperare che il bug venga corretto al più presto.

Technorati tags: , , ,

Tags: ,

Reporting Services

Comments are closed