The only solution I have for this right now is to highjack another data type and map it to what you need. To do this:
-
-
Add the following lines somewhere in the body of your new transform.
-
To get a generated uniqueidentifier data type, choose a Numeric: Decimal datatype and set the precision to 1000
<xsl:template match="ddt:exactNumeric[@type='DECIMAL'][@precision=1000]" mode="ForDataTypeNumericPrecisionAndScale">
</xsl:template>
<xsl:template match="ddt:exactNumeric[@type='DECIMAL'][@precision=1000]">
<xsl:text>uniqueidentifier</xsl:text>
</xsl:template>
Obviously, highjacking another datatype in the generator is a massive hack, but I'm not going to get to this in the immediate future. The issue isn't SQL server, it is dealing with the other DB targets that don't support this natively. AFAIK, uniqueidentifiers is not a SQL standard datatype.
-Matt