wake-up-neo.com

Die Aktualisierung des SSRS-Datensatzfelds wird für Tablix nicht aktualisiert

Ich habe das SP für das angehängte Dataset aktualisiert, das das Tablix verwendet. Die Aktualisierung hat gut funktioniert und ich kann meine neuen Felder in der gemeinsam genutzten Datei sehen, wenn ich auf der Registerkarte "Felder" schaue. Mein Problem ist, dass mir der Tablix selbst keinen Zugang zu den neuen Feldern gibt. Es gibt irgendwo eine Trennung, und ich kann nicht herausfinden, ob das Tablix die aktualisierten, im Dataset verfügbaren Felder anzeigen kann. Ich bin häufig auf dieses Problem gestoßen und hoffe, dass ich hier eine gute Antwort finden kann, zu der ich in Zukunft zurückkehren kann, da ich mir sicher bin, dass ich es tun muss. Ich habe hier die vorgeschlagenen Fragen gegoogelt und durchgesehen, und ich kann keine finden, die in direktem Zusammenhang mit dieser Frage steht. 

Ich werde auch wissen, dass sich das Berichtsprojekt in der TFS-Quellcodeverwaltung befindet, wenn ich lese, dass es einige nachteilige Nebenwirkungen hat. Ich habe das gesamte Projekt für die Bearbeitung markiert und auch die Ordnerstruktur aufgerufen und sichergestellt, dass alles nur für das Lesen festgelegt ist. 

Ich verwende SSRS 2008 in VS 2010.

15
Tony

Ich habe es gerade gefunden ... Ich verstehe nicht die Notwendigkeit für versteckte Menüs wie diese ..

Klicken Sie auf den Bericht selbst, gehen Sie dann im Menü auf Ansicht und ganz unten gibt es "Berichtsdaten". Von hier aus können Sie Ihr Dataset auswählen, zu den Eigenschaften wechseln und die Felder des mit dem Bericht verknüpften Datasets aktualisieren. Was für ein Schmerz im Hintern.

Hier ist ein Link, der es besser erklärt. . http://blog.dontpaniclabs.com/post/2012/01/26/Entwicklungsberichte-für-SQL-Server-Reporting-Services

15
Tony

Sie können die .data-Datei auch löschen, wenn Sie sie immer noch nicht aktualisieren können.

  1. Wechseln Sie in den Dateiordner, in dem sich die Datei .rdl befindet
  2. Daneben sollte sich eine Datei mit demselben Namen mit den Erweiterungen .rdl.data befinden. Löschen Sie diese Datei.

Es scheint, die Aktualisierung zu erzwingen, wahrscheinlich, weil die Datei neu erstellt werden muss.

Hier ist ein weniger invasiver Weg, kann aber nicht immer funktionieren:

  1. Klicken Sie mit der rechten Maustaste im Fenster Berichtsdaten auf Ihr Dataset und klicken Sie auf Dataset-Eigenschaften wie folgt:

 enter image description here

  1. Klicken Sie auf Refresh Fields in der rechten unteren Ecke des Fensters Dataset Properties

 enter image description here

14
Tony L.

Gehen Sie in Ihren Lösungsordner, in dem die RDL-Dateien gespeichert sind, und löschen Sie die .rdl.data-Datei für Ihren Bericht. Wenn Sie den Bericht das nächste Mal ausführen, wird eine neue Datei rdl.data erstellt, in der alle neuen Felder des aktualisierten SP enthalten sind.

2
Nadya

ok, das ist vielleicht ein älterer Thread, aber ich bin immer wieder auf das selbe Problem gestoßen. Die absolut einfachste Möglichkeit, dies zu beheben, besteht darin, am Anfang der gespeicherten Prozedur, die Ihre Datenmenge für den Bericht erstellt, die folgende Codezeile hinzuzufügen:

SET FMTONLY OFF;

Viel Spaß beim Codieren :)

2
Karin Brenig

Nachdem Sie den Code für gespeicherte Prozeduren geändert haben, ohne den Namen und die Anzahl der zurückgegebenen Felder zu ändern, konnte ich den Bericht nur dazu bringen, das neue Format der gespeicherten Prozedur aufzurufen, indem Sie auf der Registerkarte "Vorschau" des Berichts auf die Schaltfläche Aktualisieren klicken.

 enter image description here

1
Matthew

Alter Thread, aber ich bin mit VS 2015 und SSMS 2016 darauf gestoßen. Ich war sicher, dass es ein Problem mit VS war. Als ich zu SSMS zurückkehrte und versuchte, meine gespeicherte Prozedur auszuführen, stellte ich jedoch fest, dass das Übergeben bestimmter Parameterwerte dazu führen konnte, dass die Abfrage fehlschlug. Interessanterweise konnte ich die gespeicherte Prozedur ÄNDERN, ohne dass Fehler aufgetreten sind. (Vielleicht, weil einige Parameterkombinationen nicht zum Ausfall führen würden?)

Am Ende des Tages war es jedoch eine fehlerhafte Codierung in meinem Sproc, die dazu führte, dass die Felder in SSRS nicht aktualisiert wurden. Als ich zurückging und die Probleme mit meinem Code korrigierte, funktionierte alles wie erwartet in VS. 

1
DrewCranmer

Ich arbeite in Visual Studio 2015 und keine der obigen Antworten hat für mich funktioniert. Wenn Sie die Daten von einer gespeicherten Prozedur erhalten, müssen Sie die XSD-Datei öffnen und mit der rechten Maustaste auf das Datenmodell klicken. Wählen Sie Konfigurieren aus, und die korrekten Werte aus der Prozedur sollten rechts im Fenster angezeigt werden .. __ Aktualisieren Sie dann Ihre Datenmenge auf der Registerkarte Berichtsdaten.

1
Sora

Ich bin auf eine sehr ähnliche Ausgabe gestoßen:

  • Ein neues Feld wurde zu einer vorhandenen SQL-Tabellenfunktion hinzugefügt
  • (Mit einiger Schwierigkeit) fügte das neue Feld zu dem vorhandenen Datensatz in SSRS hinzu
  • Hat einige Zeit erfolglos versucht, die neuen Felder der Tabelle (Tablix?) Im Entwurfsmodus hinzuzufügen.

Das funktionierte nicht für mich, also öffnete ich die jeweilige Berichtsdatei [Dateiname] .rdl in einem Texteditor und war überrascht, dass es XML war. Es war leicht genug, das fehlende Feld manuell hinzuzufügen, und Visual Studio forderte mich dann auf, den Bericht zu aktualisieren.

 <DataSets>
  <DataSet Name="DataSet1">
   ...
   <Fields>
    <!-- add new field at this level -->
    <Field Name="[newfield]">
      <DataField>Email</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
   </Fields>
  </DataSet>
 </DataSets>
1
trevorgk

Ich habe genau das gleiche Problem in VS 2012. Die gespeicherte Prozedur, die als Abfrage verwendet wird, erlaubt keine Aktualisierung von Feldern. Wenn die Taste gedrückt wird, passiert nichts.

Die einzige Lösung, die ich gefunden habe, ist, den Abfragetyp in Text umzuwandeln und die Parameterwerte für den Aufruf exec an den SP bereitzustellen.

Warum müssen wir uns mit diesen offensichtlichen Show-Stopper-Fehlern abfinden?

1
ajeh

Ich hatte das gleiche Problem und konnte dieses Problem beheben, indem ich mein Dataset in Eigenschaften umbenannte, ein neues Dataset mit dem ursprünglichen Namen erstellte und dann auf die Schaltfläche zum Aktualisieren klicke.

0
user2001292

Ich hatte das gleiche Problem. Ich habe SP1 installiert, damit die .rdl.data-Datei generiert wird, was auch das Datenaktualisierungsproblem behebt.

Referenz: http://social.msdn.Microsoft.com/Forums/sqlserver/en-US/e2b199df-bc1b-4211-9110-85a0c63454b8/why-does-ssrs-not-create-a-rdldata-file-file- when-previewing-a-report? forum = sqlreportingervices

0
anonymous2009

Das Löschen der Datenquellen von reportviewer funktioniert für mich.

this.(reportviewername).LocalReport.DataSources.Clear();
0
Leojay Rull

Löschen von .data keine Arbeit für mich. Löschen des Datensatzes und erneutes Hinzufügen. Und ich hatte VS/SSRS zuvor so konfiguriert, dass es NICHT zwischengespeichert wird.

0
Rob

Ich hatte das gleiche Problem, aber die Ursache unterschied sich von den anderen Antworten zum Zeitpunkt dieses Schreibens.

In meinem Fall gab die als Datenquelle verwendete gespeicherte Prozedur mehrere Datensätze zurück (aufgrund eines Fehlers, den ich dort gelassen hatte).

SSRS "sah" die Felder im ersten Datensatz, während ich damit gerechnet hatte, dass die Felder im zweiten Datensatz angezeigt wurden.

Durch das Entfernen der überflüssigen Datensätze wurde das Problem behoben und SSRS konnte die beabsichtigten Felder sehen.

0
Vince Horst

Ich habe versucht, einen ODBC - Treiber für die Datenquelle zu verwenden, die eine Verbindung hergestellt hat, aber es wurde nicht angezeigt, dass Fields in VS 2015 SSRS-Bericht angezeigt wird. Ich ging zurück und benutzte eine Datenquelle, die auf dem SQL Server-Treiber basiert (es steht beim Entwerfen einer Datenquelle zur Auswahl) und es funktionierte perfekt.

0
JustJohn
  1. Öffnen Sie die Berichtslösung von Visual Studio 2008
  2. Öffnen Sie Ihren Bericht (.rpt-Datei) im linken Fensterbereich (Doppelklick)
  3. Drücken Sie Strg + Alt + D, um das Berichtsdatenfenster zu öffnen
  4. Erweitern Sie den Ordner DataSets
  5. Suchen Sie nach dem Hauptdatensatz des Berichts und klicken Sie mit der rechten Maustaste auf das Menü "DataSet-Eigenschaften"
  6. Klicken Sie im Popup-Fenster auf die Schaltfläche "Refresh Fields".

enter image description here

0