March 29, 2011 at 5:21 am
I have come across a situation where we needed to change the location of flat files. They were in a path on the C: drive across all environments (dev, test, prod). Now, on the prod server, they need to be moved (size constraints) to the E: drive.
The package configurations referencing the moved flat-file sources are all hard-coded to point to the C: drive and an E: drive is not available on all developer PCs.
While we obviously need to change these packages, I wanted to get some advice on how others would accomplish this to prevent this "hard-coded local path" issue again, rather than just remapping developer drive letters, and/or changing the local drive used to something in the middle or end of the alphabet.
Am I over-engineering this to create a variable that captures the environment through a system variable (System::MachineName) and assign a path based on that? Or is there a simpler way?
March 29, 2011 at 8:57 am
Yes, using indirect configurations is a common solution. Your "common" environment variable can do several things - but in general, it should identify the location of a config file.
If you're going to use the machine name, I'd probably use SQL configs, and use that machine name as the "filter" for the table. If you want to use a file config, make a new env var that points to where "central" config files are kept for this machine.
Todd McDermid - SQL Server MVP, MCTS (SQL 08 BI), MCSD.Net
My Blog - Dimension Merge SCD Component for SSIS - SSIS Community Tasks and Components
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply