• Hi Gerald,

    The default ProviderDescriptors.xml for ODBC is:

    <dtm:ProviderDescriptorSourceType="System.Data.Odbc.OdbcConnection">

    <dtm:SchemaNames

    TablesSchemaName="Tables"

    ColumnsSchemaName="Columns"

    ViewsSchemaName="Views"

    />

    <dtm:TableSchemaAttributes

    TableCatalogColumnName="TABLE_CAT"

    TableSchemaColumnName="TABLE_SCHEM"

    TableNameColumnName="TABLE_NAME"

    TableTypeColumnName="TABLE_TYPE"

    TableDescriptor="TABLE"

    ViewDescriptor="VIEW"

    SynonymDescriptor ="SYNONYM"

    NumberOfTableRestrictions="3"

    />

    <dtm:ColumnSchemaAttributes

    NameColumnName = "COLUMN_NAME"

    OrdinalPositionColumnName="ORDINAL_POSITION"

    DataTypeColumnName = "TYPE_NAME"

    MaximumLengthColumnName = "COLUMN_SIZE"

    NumericPrecisionColumnName = "COLUMN_SIZE"

    NumericScaleColumnName = "DECIMAL_DIGITS"

    NullableColumnName="NULLABLE"

    NumberOfColumnRestrictions="4"

    />

    <dtm:Literals

    PrefixQualifier="""

    SuffixQualifier="""

    CatalogSeparator="."

    SchemaSeparator="."

    />

    </dtm:ProviderDescriptor>

    The original error message complained about ORDINAL_POSITION, COLUMN_SIZE (twice) and DECIMAL_DIGITS. I have changed the following and it is only complaining about ORDINAL_POSITION (or whatever column name I have entered for OrdinalPositionColumnName):

    MaximumLengthColumnName = "LENGTH"

    NumericPrecisionColumnName = "PRECISION"

    NumericScaleColumnName = "SCALE"

    I believe that, if I can see the details provided by the ODBC driver, I could identify the column position column name.