Frage

Ich habe gerade einen Bericht im Berichts-Manager mit einer gespeicherten Prozedur erstellt, die eine temporäre Tabelle verwendet wird.

Ich erhalte die Fehler

„Es konnte keine Liste der Felder für die Abfrage. Ungültige Objektnamen‚#xxxx‘erzeugen“

Ich habe gelesen, das liegt daran, wenn Report Manager PrepareQuery versuchen, es läuft in Schwierigkeiten, weil die temporäre Tabelle noch nicht existiert, dies richtig ist? Wenn, so dass Sie keine Abhilfen haben?

War es hilfreich?

Lösung

lief ich in diese einmal ... genau die gleiche Sache, eigentlich. Ich reparierte sie durch diese Zeile in meinem SP fallen, bevor Sie temporäre Tabellen zu erstellen:

SET FMTONLY OFF

Das sollte es für sie tun.

Andere Tipps

Der einzige Weg ist eine der nahe liegende, Ihre temporäre Tabelle eines permanenten machen und tun, um die Verwaltung den es selbst (Löschen von Zeilen nach dem Gebrauch usw.). Dies könnte schneller sowie Wende sein, und Sie können Schlüssel hinzufügen, um die Integrität zu gewährleisten, benötigt. Es kann auch als Cache für lange laufende Abfragen handeln.

Wenn Sie sicher sind, dass es immer nur ein Benutzer der sp Aufruf sein, dann können Sie die Daten aus der Tabelle mit truncate Dump anstatt sie löschen.

Nicht viel Hilfe, aber ich fand nie eine andere Art und Weise tun.

Ich weiß nicht wirklich viel über Dienstleistungen berichtet, aber das klingt genau zu mir.

Es klingt für mich wie Sie nicht in der Lage sein können, eine temporäre Tabelle zu verwenden, um die Daten zu speichern. Sie können stattdessen eine permanente Tabelle verwenden müssen.

Ich würde mich fragen, warum ich war sowieso eine separate Tabelle. Existieren die Daten bereits in anderen Tabellen? Kann ich es von dort statt? Manchmal haben Sie keine Wahl in eine separate Tabelle, nur um sicher machen.

Ich weiß nicht, was genau das Problem verursacht, aber man könnte versuchen, eine Variablentabelle.

declare @table table (Field int)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top