MaxSize attribute
For every database type, there is a maximum string length and a maximum decimal precision (the maximum number of decimal digits in a DECIMAL value). For example, for SQL Server 2000, NVARCHAR strings cannot exceed 4000 characters. When performing calculations involving strings and decimals, the Integration service uses these maximum sizes to determine how big the result can be. Strings and decimal digits may be truncated by the Integration service based on these maximum values. Also, if the maximum assumed by the Integration service is too large, the Integration service may create queries that the database cannot accept.
You should specify the MaxSize attribute for CHAR, VARCHAR, LONGVARCHAR, NUMERIC and DECIMAL types. Table 9‑3 gives the default values for the MaxSize attribute.
Table 9‑3 Default values for the MaxSize attribute
Generic SQL type
Default value of MaxSize attribute
CHAR, VARCHAR
255
LONGVARCHAR
64000
NUMERIC, DECIMAL
20
The following example uses the MaxSize attribute to specify the maximum string length for the database data type NVARCHAR and the maximum decimal precision for the database data type DECIMAL:
<DataTypeMapper>
<DataTypes>
<DataType Name="NVARCHAR" GenericSQLType="VARCHAR"
MaxSize="1000" />
<DataType Name="DECIMAL" GenericSQLType="DECIMAL"
MaxSize="32" />
</DataTypes>
</DataTypeMapper>