Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso compartilhar uma fonte de dados entre vários projetos no Microsoft SQL Server 2005 Reporting Services e manter o Visual Studio Preview?


Uma técnica (truque sujo?) com a qual estou brincando agora é copiar minha fonte de dados (.rds ) em cada projeto, feche o Visual Studio e, em seguida, nos arquivos/pastas subjacentes:
  • Excluir os .rds copiados dos meus projetos de relatório (deixando apenas uma cópia em minhas Data Sources projeto)
  • No arquivo de projeto de cada projeto de relatório (Foo.rptproj ), altere o texto do Project.DataSources.ProjectItem.FullPath elemento de My Shared Data Source.rds para ..\Data Sources\My Shared Data Source.rds

Dessa forma, todos os projetos de relatório fazem referência ao mesmo arquivo subjacente no sistema de arquivos, de modo que compartilham uma única definição de fonte de dados, mas cada projeto também tem uma fonte de dados compartilhada "local", para que o Visual Studio seja mantido feliz.

Em relação ao controle de origem:ainda há apenas uma cópia do .rds check-in, então não estamos poluindo a base de código com muitas duplicatas nojentas; as mudanças no .rptproj arquivos podem ser verificados, então não estamos forçando os desenvolvedores a uma ginástica não natural de controle de fonte (commits parciais seletivos etc.) para manter uma cópia mestre sã.

Cada projeto de relatório tentará implantar essa fonte de dados, embora eu tenha proibido a substituição de fontes de dados existentes no servidor, portanto, não é um grande problema . . . e suponho que se eu pretendesse substituir a definição da fonte de dados do servidor, não importaria se eu a substituísse uma ou dez vezes com o mesmo .rds .

Isenção de responsabilidade:isso ainda é um experimento. Ainda não tenho experiência em usar essa técnica na prática, então não posso ir tão longe a ponto de realmente recomendá-la.