PostgreSQL ODBC ड्राइवर द्वारा लौटाए गए मेटा डेटा को SSMS ProviderDescriptors.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
save को सहेजना चाह सकते हैं एक बार आपके आयात कार्य पूर्ण हो जाने के बाद फ़ाइल करें और उस पर वापस लौटें।