FIX: DTS Wizard Parses Custom Datatypes Incorrectly

This article was previously published under Q275670
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 58303 (SQLBUG_70)
When you use Data Transformation Services (DTS) to export data to other data sources using third party OLEDB providers, the CREATE TABLE command fails with a syntax error if you have custom datatypes specified for the destination table.
When you use custom datatypes with DTS, the creation parameter markers, an opening parenthesis and closing parenthesis "()" optionally specify where the parameters are to be added for the datatype. For example, the DB2 datatype VARGRAPHIC accepts "size" as a parameter and should be specified as "VARGRAPHIC () CCSID 13488". The CREATE_PARAMS value of the PROVIDER_TYPES rowset lists the values to be inserted in the parentheses. In this case, "size" would appear in this entry. By default, in the absence of embedded parentheses, parameters are placed at the end of the data type. The DTS Wizard fails to account for embedded parentheses in a data type and incorrectly appends the size information to the end, and then generates the CREATE TABLE statement incorrectly as:
CREATE TABLE tablename ("columnname" VARGRAPHIC() CCSID 13488 (size))				
When you run the statement at the destination table, the syntax error occurs.
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
For more information, contact your primary support provider.
creation params param incorrect placement size end suffix

Article ID: 275670 - Last Review: 10/21/2013 02:22:06 - Revision: 2.0

  • Microsoft SQL Server 7.0 Standard Edition
  • kbnosurvey kbarchive kbbug kbfix KB275670