OpenQuery, Reporting Services und Berichtsparameter

29/10/2007 - 16:12 von Olaf Stagge | Report spam
Hallo,

ich möchte z.B. einen Report über einen Linked Server erstellen :

Select * From OPENQUERY(<LinkedServer>,'Select * from Mitarbeiter
WHERE Name = ''Meier'')

Dies funktioniert.

Leider funktioniert dies nicht mit Parametern.
Select * From OPENQUERY(<LinkedServer>,'Select * from Mitarbeiter
WHERE Name = ''@StaffName'')

Dies funktioniert, ist aber viel zu langsam:
Select * From OPENQUERY(<LinkedServer>,'Select * from Mitarbeiter')
WHERE (NAME = @StaffName)

Hat jemand eine Idee.

mfG
Olaf
 

Lesen sie die antworten

#1 Steffen Grabaum
30/10/2007 - 16:33 | Warnen spam
Hallo Olaf,

mit solch einem Problem habe ich auch schon gekàmpft.
Wenn du einen Linked Server Erstellt hast, kannst du doch direkt auf die
Datenbank zugreifen, sofern diese ein MS SQL Server ist.

Dies hier sollte funktionieren. Schau mal bissel weiter bei Linked Server.
Habe es schon lange nicht mehr benötigt ;).
SELECT * FROM <LinkedServer>.<Database>.<Owner>.Mitarbeiter WHERE Name =
@StaffName

Ansonnsten gebe ich dir ein Tipp. Beim ersten aufruf, einmal tàglich,
kopiere alle Daten in eine Lokale Tabelle. Frage diese immer ab. (Pull
Version)
Oder du machst ein Push. Bau einen Trigger (Update, Delete, Insert) auf die
Tabelle und schiebe alle verànderungen auf dem 2. Server wo die Daten auch
benötigt wird.

Es gibt noch etwas, Dynamische SQL Befehle. Ist aber nicht hier notwendig,
denke ich mal. Aber vieleicht hilft dir dass eine andere Lösung zu finden.
http://www.insidesql.de/content/view/164/29/

Gruß Steffen

Ähnliche fragen