sql >> Database >  >> RDS >> Sqlserver

Hoe kan ik een gegevensbron delen tussen meerdere projecten in Microsoft SQL Server 2005 Reporting Services en Visual Studio Preview behouden?

Een techniek (vuile truc?) waarmee ik nu speel, is het kopiëren van mijn gegevensbron (.rds ) in elk project, sluit Visual Studio en vervolgens in de onderliggende bestanden/mappen:

  • Verwijder de gekopieerde .rds van mijn rapportprojecten (laat alleen de ene kopie over in mijn Data Sources project)
  • In het projectbestand van elk rapportproject (Foo.rptproj ), verander de tekst van het Project.DataSources.ProjectItem.FullPath element uit My Shared Data Source.rds naar ..\Data Sources\My Shared Data Source.rds

Op deze manier verwijzen alle rapportageprojecten naar hetzelfde onderliggende bestand op het bestandssysteem, zodat ze een enkele gegevensbrondefinitie delen, maar elk project heeft ook een soort "lokale" gedeelde gegevensbron, zodat Visual Studio tevreden blijft.

Wat betreft bronbeheer:er is nog maar één exemplaar van de .rds ingecheckt, dus we vervuilen de codebasis niet met veel icky duplicaten; de wijzigingen aan de .rptproj bestanden kunnen worden ingecheckt, dus we dwingen ontwikkelaars niet tot onnatuurlijke gymnastiek met broncontrole (selectieve gedeeltelijke commits enz.) om een ​​goede masterkopie te behouden.

Elk rapportageproject zal proberen deze gegevensbron in te zetten, hoewel ik het overschrijven van bestaande gegevensbronnen op de server heb verboden, dus het is niet zo'n groot probleem. . . en ik veronderstel dat als ik van plan was de gegevensbrondefinitie van de server te overschrijven, het niet echt uitmaakt of ik het een of tien keer zou overschrijven met dezelfde .rds .

Disclaimer:dit is nog een experiment. Ik heb nog geen ervaring met het gebruik van deze techniek in de praktijk, dus ik kan niet zo ver gaan om het daadwerkelijk aan te bevelen.



  1. waarom sql met 'exists' langzamer werkt dan 'in' met MySQL

  2. Parallelle datum verkoop SQL-weergave

  3. Wat is de limiet van SQL-variabelen die men kan specificeren in een enkele execSQL-query?

  4. Is er een manier om FORALL te gebruiken om gegevens uit een array in te voegen?