Microsoft KB Archive/247312

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 13:50, 21 July 2020 by X010 (talk | contribs) (Text replacement - """ to """)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Base

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

Article ID: 247312

Article Last Modified on 3/14/2006


  • Microsoft SQL Server 7.0 Standard Edition

This article was previously published under Q247312

BUG #: 54796 (SQLBUG_70)


If you try to change the length of a column inside BeginAlter and DoAlter like this:

Set column1 = t.Columns("city")
column1.Length = 70

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.SQLServer
Dim db1 As SQLDMO.Database
server1.Connect "(local)", "sa", ""
Set db1 = server1.Databases("pubs")
db1.ExecuteImmediate ("Alter table publishers Alter column city varchar(50) ")


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.

Keywords: kbbug kbfix KB247312