Showing posts with label considering. Show all posts
Showing posts with label considering. Show all posts

Thursday, March 22, 2012

deployment options

Hello all,

I am considering the different options for package deployment on the server.

Until now, I have found several different ways to deploy packages to the server (File System):

  1. Using the Import option from the Management Studio (only one by one)

  2. Using the Deployment Utility (Needs building the whole project. Opens all the packages in debugging mode, cannot deploy to different folders)

  3. Using the dtutil by constructing a command line for each package deployment. (complicated)

  4. Simply copying the files from the local project folder to the "Program Files\Microsoft SQL Server\90\DTS\Packages" folder on the server.

Does anyone have any other suggestions for deployment?

The 4th seems to be the easiest one, but I seen anybody suggesting such an action. What's the downside of such an action?

Thanks,

Liran

The 4th option IS easiest but you do have the potential for human error. You could easily write a batch file to do the same thing however and just amend that as necassary.

-Jamie

Deployment of Reports and Data Sources

What is the best way to deploy reports to production considering the fact that different developers would be working on different reports and different data sources. Also consider that the data sources connect to local machines of the developers during report creation and a different database server on deployment.

One way is to use VS2005 to deploy it to production but I am not sure if that is the way to go?

Any ideas?

Thanks

I'd probably create an RSS script which will publish the report to the whatever server it needs to and then actually "fixes up" the report to point to a "production datasource" which already exists on the production box. This "production datasource" points to the correct database on the server.

Use the CreateReport() API to publish the report, and here's a quick sample on fixing up the datasource on a report:

DataSourceReference reference = new DataSourceReference();
DataSource[] dsarray = new DataSource[1];
DataSource ds = new DataSource();
reference.Reference = "/Data Sources/AdventureWorks";
ds.Item = (DataSourceReference)reference;
ds.Name = "AdventureWorks";
dsarray[0] = ds;
rs.SetItemDataSources("/AdventureWorks Sample Reports/Company Sales", dsarray)

It bascially sets the datasource of the Company Sales report to point to the AdventureWorks datasource int he /Data Sources folder.

The nice thing about this idea is that if you have only a few different databases to deal with, you could actually write the RSS script to that it acts on all reports in filesystem folder, and then does some thinking and points each report to the correct "production" data source during the "fix up" phase...