blogs.conchango.com

welcome to the conchango blogging site
Welcome to blogs.conchango.com Sign in | Join | Help
in Search

SSIS Junkie

Conchango are busy and need talented consultants in and around London. Interested? Email me or send me a message

SSIS: Package Template

Someone recently left a comment on my blog about Package Template Locations asking if I could share my own template. I answered that I couldn't because I didn't have my own template that I use on all projects, across the board.

It did give me an idea though; I could put together a template that exhibited as many suggestions as possible from my list of Suggested Best Practices and naming conventions for SSIS and that's what I have done and attached it to this blog post. You can download it from here.

It exhibits all of the following characteristics:

  • Use of a common folder structure (via variables)
      ..\RootFolder\BLOBTempStorage
      ..\RootFolder\BufferTempStorage
      ..\RootFolder\BLOBTempStorage
      ..\RootFolder\CheckpointFiles
      ..\RootFolder\ErrorFiles
      ..\RootFolder\LogFiles
      ..\RootFolder\Packages
      ..\RootFolder\RawFiles
  • RootFolder location is set using an indirect configuration 
  • Dynamically named log file
  • Concatenated package name and version numbers in a variable
  • ProtectionLevel=DontSaveSensitive
  • Configurations are enabled
  • Descriptions are filled-in
  • All variables in the template have a dedicated namespace
  • All expressions are in variables
  • Use of annotations
  • Checkpoint file name and location is set dynamically
  • Basic logging setup

I don't expect this template package to be something that you can use straight from downloading it, but it may form a basis for your own templates. Most likely you have your own naming conventions and/or you have specific functionality that needs to be in every package (e.g. eventhandlers). Hopefully this will trigger some of your own ideas about what to put in your own templates.

Comments are welcome.

-Jamie

 

Published 11 March 2007 03:10 by jamie.thomson
Attachment(s): TemplatePackage.zip

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

rbellamy said:

Strangely, I get an error when trying to set the CheckpointFileName property using the template variable:

------------------------------

Nonfatal errors occurred while saving the package:

Error at TemplatePackage: The file name is not valid. The file name is a device or contains invalid characters.

Error at TemplatePackage: The result of the expression "@[Template::CheckpointFileName]" on property "CheckpointFileName" cannot be written to the property. The expression was evaluated, but cannot be set on the property.

------------------------------

When looking at the evaluated expression, it looks completely normal:

c:\temp\checkpoint\TemplatePackage.chkpnt

I don't see any special characters when I look at it in a hex editor, so I'm a bit flummoxed.

Any suggestions?

June 7, 2007 18:08
 

jamie.thomson said:

Yeah, do you have a folder called c:\temp\checkpoint? If you don't, you'll get the error that you are seeing.

-Jamie

June 7, 2007 18:15
 

rbellamy said:

Ok... one of those transparent error messages again. :)

June 7, 2007 20:16
 

SSIS Junkie said:

Recently on this blog I mentioned in passing that I have been working for some considerable time now

August 6, 2007 20:57
 

ridacl said:

This is fantastic.  Many thanks.  It would be nice if you included the dtsConfig file you use with this (ROOTFOLDER is your environment variable).  I'm sure its small and simple but it would be helpful for others.

April 11, 2008 19:53
 

SSIS Junkie said:

In the past I have advocated (and still do advocate) the use of a user variable in SSIS packages to store

May 19, 2008 12:22
 

Dave Neeley said:

All that's left to do now is figure out how to update old packages when the template changes. :)

June 7, 2008 04:02
 

bfilppu said:

Package inheritance.  that is where they need to go.  If I could Inherit from a master package, then when I changed that package, all of my other packages would change.  I still don't understand why they don't have package inheritance!

July 22, 2008 18:50

Leave a Comment

(required) 
(optional)
(required) 
Submit

This Blog

Syndication

News

Powered by Community Server (Personal Edition), by Telligent Systems