Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso condividere un'origine dati tra più progetti in Microsoft SQL Server 2005 Reporting Services e mantenere l'anteprima di Visual Studio?

Una tecnica (sporco trucco?) con cui sto giocando ora è copiare la mia origine dati (.rds ) in ogni progetto, chiudi Visual Studio, quindi nei file/cartelle sottostanti:

  • Elimina il .rds copiato dai miei progetti di report (lasciando solo una copia nelle mie Data Sources progetto)
  • Nel file di progetto di ogni progetto di report (Foo.rptproj ), cambia il testo del Project.DataSources.ProjectItem.FullPath elemento da My Shared Data Source.rds a ..\Data Sources\My Shared Data Source.rds

In questo modo tutti i progetti di reporting fanno riferimento allo stesso file sottostante nel filesystem, quindi condividono un'unica definizione di origine dati, ma ogni progetto ha anche un'origine dati condivisa "locale", quindi Visual Studio è soddisfatto.

Per quanto riguarda il controllo del codice sorgente:esiste ancora una sola copia di .rds registrato, quindi non stiamo inquinando la base di codice con molti duplicati disgustosi; le modifiche al .rptproj i file possono essere archiviati, quindi non stiamo costringendo gli sviluppatori a una ginnastica innaturale per il controllo del codice sorgente (commit parziali selettivi, ecc.) per mantenere una sana copia master.

Ogni progetto di reporting proverà a distribuire questa origine dati, anche se ho vietato la sovrascrittura delle origini dati esistenti sul server, quindi non è un grosso problema. . . e suppongo che se intendessi sovrascrivere la definizione dell'origine dati del server, non importerebbe se l'ho sovrascritta una o dieci volte con lo stesso .rds .

Disclaimer:questo è ancora un esperimento. Non ho ancora esperienza nell'utilizzo di questa tecnica nella pratica, quindi non posso arrivare a consigliarla effettivamente.