FIX: SQLDMO: Changing Length of a Column Within a DoAlter Does Not Work

This article was previously published under Q247312
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 54796 (SQLBUG_70)
If you try to change the length of a column inside BeginAlter and DoAlter like this:
table1.BeginAlterSet column1 = t.Columns("city")column1.Length = 70table1.DoAlter				
this error message occurs:
-2147201020 (80045004):
[SQL-DMO]Modifying existing table columns, or inserting new ones prior to the end of the table, is not supported.
Use ExecuteImmediate to execute the ALTER TABLE ALTER COLUMN. For example:
Dim server1 As New SQLDMO.SQLServerDim db1 As SQLDMO.Databaseserver1.Connect "(local)", "sa", ""Set db1 = server1.Databases("pubs")db1.ExecuteImmediate ("Alter table publishers Alter column city varchar(50) ")server1.DisConnect				
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
254561 INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
For more information, contact your primary support provider.

Article ID: 247312 - Last Review: 10/22/2013 03:22:16 - Revision: 2.1

Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbbug kbfix KB247312