1

Closed

A column named 'Size' already belongs to this table.

description

Data Dictionary Creator was working fine for me, but now I can't get it to work at all. When I attempt to connect to a database, any database, I get a database connection failed message. When I click on the "Connection Exception Details" link I get a popup with the message "A column named 'Size already belongs to this DataTable". When I click the elipsis button and set up a connection string I can test it, and I get a successful connection message. When I close the screen I'm right back to the connection failed message. Also, I notice on the "Advanced Settings" tab, a whole bunch of field names have been added to the "Document Additional Properites" box. (See attached screen shot.) Uninstalling and reinstalling Data Dictionary Creator did not resolve the issue.

file attachments

Closed Jul 19, 2010 at 11:41 AM by KenBlanchard
closing all old fixed items

comments

Lew2 wrote Dec 22, 2009 at 7:30 PM

I did some debugging on this. The problem occurred because Properties.Settings.Default.ADDITIONAL_PROPERTIES was returning this value: "AggregateType,AllowZeroLength,AppendOnly,Attributes,CollatingOrder,ColumnHidden,ColumnOrder,ColumnWidth,DataUpdatable,GUID,MS_DecimalPlaces,MS_DisplayControl,MS_Format,MS_IMEMode,MS_IMESentMode,Name,OrdinalPosition,Required,Size,SourceField,SourceTable,TextAlign,Type,UnicodeCompression". How it picked up that value, I don't know. However it points out a bug in the additionalPropertiesArray method. Adding the following lines resolved the problem:

reservedProperties.Add( "number" );
reservedProperties.Add( "size" );
reservedProperties.Add( "nullable" );
reservedProperties.Add( "isprimarykey" );
reservedProperties.Add( "isforeignkey" );

I'm not comfortable checking these into the code base, but I hope someone who is will do so.

Thanks,
Lew

Lew2 wrote Dec 23, 2009 at 12:09 AM

Additional investigation shows that the problem is created by the following lines in MainForm.DocumentationSetup:

if (string.IsNullOrEmpty(additionalProperties))
QueryForAdditionalProperties();
else

It seems that there is one table in the database that defines a huge number of extended properties. Getting them and supporting them for all tables is just a bad idea. It might be nice to have something like the referenced QueryForAdditionalProperties() method optionally called from the FillSelectedTableToDocument method, so that the user can see all extended properties on the table.

KenBlanchard wrote Dec 23, 2009 at 1:42 AM

Added reservedProperties as indicated.

thompmcd wrote Jun 24, 2010 at 8:43 PM

I'm getting the same error message though it says issue is fixed. Downloaded 6/24/2010. Any ideas?

kmote wrote Jun 5, 2012 at 5:00 PM

I am getting the same error with version 73307