Google Mobile Ads

Tuesday, June 26, 2012

SSIS 'de Execute SQL Task ile sql ifadesinden gelen result 'ı bir variable a assign ederken karşılaşılan bir problem : VARCHAR(MAX)

[Execute SQL Task] Error: An error occurred while assigning a value to variable "ColumnName": "The type of the value being assigned to variable "User::varColumnName" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object!."


SQL İfadesi : SELECT ColumnName FROM MyTableName


Sql ifadesinde kullandığım Varchar(max) değeri döndüren result kolonunu(ColumnName), SSIS'deki string değişkenine atamaya çalışırken yukarıdaki hata ile karşılaştım.

Çözümü şu şekide:

SSIS'de string değişkene, SQL Server'daki Max değerli bir varchar veya nvarchar veri tipi atanamadığı için, SQL ifadesindeki ColumnName isimli varchar(max) veri tipine sahip kolonu varchar(1000) gibi bir limite cast etmemiz gerekmektedir.


SELECT CAST(ColumnName AS VARCHAR(1000)) AS ColumnName FROM MyTableName

No comments:

Post a Comment

LinkWithin

Related Posts Plugin for WordPress, Blogger...