Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich eine Datenquelle für mehrere Projekte in Microsoft SQL Server 2005 Reporting Services freigeben und die Visual Studio-Vorschau behalten?

Eine Technik (schmutziger Trick?), mit der ich gerade spiele, ist das Kopieren meiner Datenquelle (.rds). ) in jedes Projekt, schließen Sie Visual Studio, dann in den zugrunde liegenden Dateien/Ordnern:

  • Löschen Sie die kopierte .rds aus meinen Berichtsprojekten (wobei ich nur die eine Kopie in meinen Data Sources belasse Projekt)
  • In der Projektdatei jedes Berichtsprojekts (Foo.rptproj ), ändern Sie den Text von Project.DataSources.ProjectItem.FullPath -Element aus My Shared Data Source.rds nach ..\Data Sources\My Shared Data Source.rds

Auf diese Weise verweisen alle Berichtsprojekte auf dieselbe zugrunde liegende Datei im Dateisystem, sodass sie eine einzige Datenquellendefinition gemeinsam nutzen, aber jedes Projekt hat auch eine Art „lokale“ gemeinsam genutzte Datenquelle, sodass Visual Studio zufrieden ist.

Zur Quellcodeverwaltung:Es gibt immer noch nur eine Kopie der .rds eingecheckt, damit wir die Codebasis nicht mit vielen ekligen Duplikaten verunreinigen; die Änderungen an der .rptproj Dateien können eingecheckt werden, also zwingen wir Entwickler nicht zu unnatürlichen Source-Control-Gymnastik (selektive Teil-Commits usw.), um eine vernünftige Master-Kopie zu erhalten.

Jedes Reporting-Projekt wird versuchen, diese Datenquelle bereitzustellen, obwohl ich das Überschreiben bestehender Datenquellen auf dem Server verboten habe, also ist es keine allzu große Sache . . . und ich nehme an, wenn ich beabsichtigte, die Datenquellendefinition des Servers zu überschreiben, wäre es nicht wirklich wichtig, ob ich sie einmal oder zehnmal mit demselben .rds überschrieben habe .

Haftungsausschluss:Dies ist noch ein Experiment. Ich habe noch keine Erfahrung mit der Anwendung dieser Technik in der Praxis, daher kann ich nicht so weit gehen, sie wirklich zu empfehlen.