Tuesday, April 22, 2008

Execute SQL Task Designer Limit

After migrating a package from DTS to SSIS, I had a problem with an Execute SQL Task. I couldn't change any characters in the SQLStatement property; I couldn't add any new characters; I could delete characters, but not retype them! After googling several variations of "integration services" "read only" and "Execute SQL Task", I deleted about half of the entry in a fit of frustration. Lo and behold, I could type again.

Apparently, there is limit on the size or number of characters that can be entered in the SQLStatement property. From my experimentation, I came up with a limit of 32767 characters.

The interesting thing is that the restriction only seems to be on the designer. If you set the SourceType to "Variable" and use a variable that contains more than 32767 characters, the task will execute. Also, if you use the "Direct Input" SourceType and modify the package XML to set the SQLStatement longer than 32767 characters, the task also works.

This is just something to keep in mind if you are putting a monster of a query together to execute in SSIS. Of course, if you have a query that long, you might want to think about breaking it up into smaller pieces or encapsulating some of the logic into stored procedures. :)

Version: SQL Server 2005 SP2

9 comments:

Wes Wilson said...

"Apparently, there is limit on the size or number of characters that can be entered in the SQLStatement property. From my experimentation, I came up with a limit of 32767 characters."

In the past I've seen a similar situation where some ODBC drivers have a 32K or 64K limit on query text size as well, particularly some of the older ones that get used for DB2 access. This might be an input mask to keep the casual user from putting in a query soo long.

First to post.

Anonymous said...

I had the same problem..But I guess in the end i decided to create a stored proc and just put the exec 'proc name' in the Execute SQL Task Designer.

But really its such a stupid limitation. The script editor in itself is very very basic, does not even allow mouse scrolling. Seems MS ran out of money and resources to complete it. ;)

Anonymous said...

The designer does seem to have issue with copy/paste but if you save the query to the file system and then use the "Browse..." feature, it will to pull it in its full glory. You can even open and close the script editor afterwards and you won't see truncation.

~Matt Poland

Anonymous said...

Well the last suggestion worked well for me... hitting the browse button was the key...

Hennie said...

Same problem here. I used the build query option. You'll recieve an error but you can proceed.
BIFuture.blogspot.com

Dr SQL said...

Ha! This was killing me :) I should have known that you would know the answer and have answered it years ago.. Thanks! Louis

NWest said...

This is also true of entering text into the Variables window. You can use a script task to set the variable to a string that is longer than 32767 characters, however.

Anonymous said...

'Browse solution' worked fine for me too. Thanks Matt
-Mayank

Anonymous said...

Browse works here also.
Sql Server could and should fix.