sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag dela en datakälla mellan flera projekt i Microsoft SQL Server 2005 Reporting Services och behålla Visual Studio Preview?

En teknik (smutsigt trick?) jag leker med nu är att kopiera min datakälla (.rds ) i varje projekt, stäng Visual Studio och sedan i de underliggande filerna/mapparna:

  • Ta bort den kopierade .rds från mina rapportprojekt (lämnar bara en kopia i mina Data Sources projekt)
  • I varje rapportprojekts projektfil (Foo.rptproj ), ändra texten i Project.DataSources.ProjectItem.FullPath element från My Shared Data Source.rds till ..\Data Sources\My Shared Data Source.rds

På så sätt refererar alla rapporteringsprojekt till samma underliggande fil i filsystemet, så de delar en enda datakällasdefinition, men varje projekt har också typ en "lokal" delad datakälla, så Visual Studio hålls nöjd.

Angående källkontroll:det finns fortfarande bara en kopia av .rds checkade in, så vi förorenar inte kodbasen med massor av otäcka dubbletter; ändringarna av .rptproj filer kan checkas in, så vi tvingar inte utvecklare till onaturlig gymnastik för källkontroll (selektiva partiella commits etc.) för att behålla en förnuftig huvudkopia.

Varje rapporteringsprojekt kommer att försöka distribuera den här datakällan, även om jag har förbjudit överskrivning av befintliga datakällor på servern, så det är inte så stor sak . . . och jag antar att om jag hade för avsikt att skriva över serverns datakällas definition skulle det inte spela någon roll om jag skrev över den en eller tio gånger med samma .rds .

Ansvarsfriskrivning:detta är fortfarande ett experiment. Jag har inte erfarenhet av att använda den här tekniken i praktiken ännu, så jag kan inte gå så långt som att faktiskt rekommendera den.



  1. SQL-fråga för att få fullständig hierarkisökväg från olika tabeller

  2. SQL Server 2016:Infoga data

  3. Att använda en central databasserver för många webbplatser:rimligt?

  4. Python SQLAlchemy - MySQL-servern har försvunnit