There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?

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

comments

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:

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.