SSIS bugs and gotchas

===============================================================
Note: SSIS BUG - MergeJoin component - bug with LEFT JOIN!
==============================
there is a bug which seems to make MergeJoin component fairly useless, if you are doing a LEFT JOIN.

Workaround: use Lookup instead.
===============================================================
Note: SSIS Bug - Lower Scoped Variable does not pick up value of Package-Level Variable in its Expression
==============================
It looks like there is a bug in SSIS, where a lower-scope variable does not pick up the value of a package-scope variable.
This occurred where a low-scoped string variable that built a SQL expression,
failed to pick up on the right value of RunId from the package-level RunId variable.

Workaround: The solution was to delete the lower-scoped variable, and create a new variable at the Package level.
===============================================================

BOGUS ERRORS
============
Note: Bogus error when a Connection String is Empty

If you get this error, when SSIS validate is trying to open a Data Source:
"Operation is not valid due to the current state of the object"
It can be a bogus error, where the Connection string is in fact empty.
If you run the same package from the DTEXEC utility,
it will give you more information (that the connection string is empty).
==============================================================

===============================================================
Note: SSIS Lookup Component is CASE SENSITIVE!
==============================================
SSIS Lookup component is ALWAYS case sensitive.
There are a number of workarounds for this,
the simplest being, that if you want case-insensitivity,
then you should use a CharacterTransform to set the case
of the Input AND of the Looked up value, before the data
enters the Lookup component.

An alternative workaround, is to set the Lookup Component
to use Partial or NO Caching. The case-sensitivity
will then be determined by the case-sensitivity of the database.
However this is not useful, if you wish to have control over
the case-sensitivity.
===============================================================
Note: SSIS Caches Packages!
===========================
Note: Having multiple packages with same GUID + Version:

SSIS caches packages, so if you try running the same packages from
different workspaces you may find that SSIS is actually running an
older copy of the package, which it has cached.
Simple solution - delete or move the old packages.

Comments