This is just a quick note. I was working on an example package, and decided to change environments to make sure that everything was working correctly.
I deployed my example database, then ran the test packages that I have.
I noticed that every file started coming up with weird errors by embedding _x003C_none_x003E_ into the data. I was not sure what to do about this, so I did a quick check and found that the text qualifiers were set to this in the code.
I did a quick find and replace all for the value and replaced it with empty string, and all of my projects began producing the right outputs. When I went back to my main development machine, and checked its packages and outputs, I noticed that the _x003C_none_x003E_ was also present in those packages, yet they were working fine.
Well, after some internet google searches, I was able to track down that different versions and different builds of SSIS treat the <none> option in the connection manager differently, and this is what was causing the issue.
So, if you ever see this issue, the "proper" way of fixing it is to:
1. Make sure every machine is running the same build/version of SQL Server, and thus the same build/version of SSIS.
2. Once everything is normalized, go into the package and simply "choose" none again. If you are having this problem with fixed width flat files, I found it was possible to go in and simply change _x003C_none_x003E_ to an empty string, and this worked to fix the issue as well. I wouldn't suggest doing it that way, as it is probably a better practice to have SSIS use whatever placeholder it likes, and will understand, instead of introducing unexpected behavior by editing the file directly.
EDIT: Here is the best resource I have found on this issue.
http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/ff59e4a1-a2bf-4b27-812b-28197ec982de/
No comments:
Post a Comment