PostgreSQL ODBCドライバーによって返されるメタデータは、SSMSProviderDescriptors.xmlファイルによって正しくマップされません。このファイルは、SSMSインストールのディレクトリ "C:\ Program Files(x86)\ Microsoft SQL Server Management Studio 18 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ SSIS \ 150\ProviderDescriptors"にあります。
この質問
から収集した情報を使用する およびSystem.Data.Odbc.OdbcConnection
を使用してPostgreSQLから正常にインポートできました。 ProviderDescriptor
以下の設定セクション。 MaximumLengthColumnName
を変更しました 、NumericPrecisionColumnName
、およびNumericScaleColumnName
System.Data.Odbc.OdbcConnection
の属性値 ColumnSchemaAttributes
PosgreSQL ODBCドライバーによって返される実際の名前と一致する(LENGTH
、およびPRECISION
、SCALE
。
<dtm:ProviderDescriptor SourceType="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 = "LENGTH"
NumericPrecisionColumnName = "PRECISION"
NumericScaleColumnName = "SCALE"
NullableColumnName="NULLABLE"
NumberOfColumnRestrictions="4"
/>
<dtm:Literals
PrefixQualifier="""
SuffixQualifier="""
CatalogSeparator="."
SchemaSeparator="."
/>
</dtm:ProviderDescriptor>
元のProviderDescriptors.xml
を保存することをお勧めします ファイルを作成し、インポートタスクが完了したら元に戻します。