Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je partager une source de données entre plusieurs projets dans Microsoft SQL Server 2005 Reporting Services et conserver Visual Studio Preview ?

Une technique (sale tour ?) avec laquelle je joue maintenant consiste à copier ma source de données (.rds ) dans chaque projet, fermez Visual Studio, puis dans les fichiers/dossiers sous-jacents :

  • Supprimez le .rds copié de mes projets de rapport (ne laissant qu'une seule copie dans mes Data Sources projet)
  • Dans le fichier de projet de chaque projet de rapport (Foo.rptproj ), modifiez le texte du Project.DataSources.ProjectItem.FullPath élément de My Shared Data Source.rds vers ..\Data Sources\My Shared Data Source.rds

De cette façon, tous les projets de création de rapports font référence au même fichier sous-jacent sur le système de fichiers, de sorte qu'ils partagent une seule définition de source de données, mais chaque projet a également en quelque sorte une source de données partagée "locale", de sorte que Visual Studio est satisfait.

Concernant le contrôle de source :il n'existe toujours qu'une seule copie du .rds vérifié, donc nous ne polluons pas la base de code avec beaucoup de doublons dégueulasses ; les modifications apportées au .rptproj les fichiers peuvent être archivés, nous n'obligeons donc pas les développeurs à une gymnastique non naturelle du contrôle des sources (commits partiels sélectifs, etc.) pour conserver une copie maîtresse saine.

Chaque projet de création de rapports essaiera de déployer cette source de données, même si j'ai interdit l'écrasement des sources de données existantes sur le serveur, donc ce n'est pas trop grave. . . et je suppose que si j'avais l'intention d'écraser la définition de la source de données du serveur, peu importe que je l'écrase une ou dix fois avec le même .rds .

Avis de non-responsabilité :il s'agit encore d'une expérience. Je n'ai pas encore d'expérience dans l'utilisation de cette technique dans la pratique, donc je ne peux pas aller jusqu'à la recommander.