PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgres से SQL Server 2008 में माइग्रेट करना

मुझे PostgreSQL से तालिकाओं को आयात करने के लिए SQL Server 2008 R2 में आयात विज़ार्ड का उपयोग करने में समस्या हो रही थी। मेरे पास पोस्टग्रेएसक्यूएल ओडीबीसी ड्राइवर स्थापित था, इसलिए आयात विज़ार्ड में डेटा स्रोत के लिए मैंने "ओडीबीसी के लिए नेट फ्रेमवर्क डेटा प्रदाता" चुना और मेरे पोस्टग्रेएसक्यूएल डेटाबेस के लिए डीएसएन नाम की आपूर्ति की। विज़ार्ड ने तालिकाओं को ठीक पाया, लेकिन जब मैं आयात करने गया तो मुझे त्रुटि मिली

<ब्लॉककोट>

स्रोत और गंतव्य डेटा के लिए कॉलम जानकारी पुनर्प्राप्त नहीं की जा सकी।

"बिलिंग" -> [डीबीओ]। [बिलिंग]:

- कॉलम -1 नहीं खोजा जा सका।

मुझे यहां माइक्रोसॉफ्ट ब्लॉग पोस्ट में समाधान मिला। स्पष्ट रूप से समस्या यह है कि कॉलम मेटाडेटा की रिपोर्ट करते समय विभिन्न ओडीबीसी ड्राइवर विभिन्न विशेषता नामों का उपयोग करते हैं। आयात को काम पर लाने के लिए मुझे "ProviderDescriptors.xml" फ़ाइल को संपादित करना पड़ा, जो

पर स्थित थी।

C:\Program Files\Microsoft SQL Server\100\DTS\ProviderDescriptors\ProviderDescriptors.xml

में ...

<dtm:ProviderDescriptor SourceType="System.Data.Odbc.OdbcConnection">

... तत्व मुझे से विशेषताओं को बदलना पड़ा ...

<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:ColumnSchemaAttributes
    NameColumnName = "COLUMN_NAME"
    OrdinalPositionColumnName="ORDINAL_POSITION"
    DataTypeColumnName = "TYPE_NAME"
    MaximumLengthColumnName = "LENGTH"
    NumericPrecisionColumnName = "PRECISION"
    NumericScaleColumnName = "SCALE"
    NullableColumnName="NULLABLE"
    NumberOfColumnRestrictions="4"
/>

यानी, मुझे MaximumLengthColumnName में बदलाव करना पड़ा , NumericPrecisionColumnName , और NumericScaleColumnName "LENGTH" . के लिए विशेषता मान , "PRECISION" , और "SCALE" , क्रमशः।

एक बार उस परिवर्तन को करने के बाद PostgreSQL से SQL सर्वर में आयात सफलतापूर्वक चला।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में पुनरावर्ती ट्रिगर रोकें

  2. PostgreSQL द्वारा पेश किया गया JSONB की व्याख्या

  3. Python का उपयोग करके PostgreSQL डेटाबेस के साथ INSERT का उपयोग करना

  4. Postgresql - बैकअप डेटाबेस और विभिन्न स्वामी पर पुनर्स्थापित करें?

  5. PostgreSQL डेटाबेस में MySQL डंप आयात करें