PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Migrasi dari Postgres ke SQL Server 2008

Saya mengalami masalah saat menggunakan Wizard Impor di SQL Server 2008 R2 untuk mengimpor tabel dari PostgreSQL. Saya telah menginstal driver PostgreSQL ODBC, jadi untuk Sumber Data di Wizard Impor saya memilih ".Net Framework Data Provider for Odbc" dan memberikan nama DSN untuk database PostgreSQL saya. Wizard menemukan tabel dengan baik, tetapi ketika saya melakukan impor, saya mendapatkan kesalahan

Informasi kolom untuk data sumber dan tujuan tidak dapat diambil.

“Penagihan” -> [dbo].[Penagihan]:

– Tidak dapat menemukan kolom -1.

Saya menemukan solusinya di posting blog Microsoft di sini. Rupanya masalahnya adalah bahwa berbagai driver ODBC menggunakan nama atribut yang berbeda saat melaporkan metadata kolom. Agar impor berfungsi, saya harus mengedit file "ProviderDescriptors.xml", yang terletak di

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

Di ...

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

... elemen Saya harus mengubah atribut dari ...

<dtm:ColumnSchemaAttributes
    NameColumnName = "COLUMN_NAME"
    OrdinalPositionColumnName="ORDINAL_POSITION"
    DataTypeColumnName = "TYPE_NAME"
    MaximumLengthColumnName = "COLUMN_SIZE"
    NumericPrecisionColumnName = "COLUMN_SIZE"
    NumericScaleColumnName = "DECIMAL_DIGITS"
    NullableColumnName="NULLABLE"
    NumberOfColumnRestrictions="4"
/>

... ke ...

<dtm:ColumnSchemaAttributes
    NameColumnName = "COLUMN_NAME"
    OrdinalPositionColumnName="ORDINAL_POSITION"
    DataTypeColumnName = "TYPE_NAME"
    MaximumLengthColumnName = "LENGTH"
    NumericPrecisionColumnName = "PRECISION"
    NumericScaleColumnName = "SCALE"
    NullableColumnName="NULLABLE"
    NumberOfColumnRestrictions="4"
/>

Artinya, saya harus mengubah MaximumLengthColumnName , NumericPrecisionColumnName , dan NumericScaleColumnName nilai atribut ke "LENGTH" , "PRECISION" , dan "SCALE" , masing-masing.

Setelah perubahan itu dilakukan, impor dari PostgreSQL ke SQL Server berhasil dijalankan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memahami Kinerja Kueri PostgreSQL

  2. Melacak Ketersediaan Tinggi untuk PostgreSQL Dengan Detak Jantung

  3. Baris perintah Windows PSQL:apakah ada cara untuk mengizinkan login tanpa kata sandi?

  4. Kembalikan Hanya Nilai Numerik dari Kolom Database PostgreSQL

  5. Melewati nama tabel sebagai parameter di psycopg2