Udostępnij za pośrednictwem


Mapowanie typu danych dla wydawców Oracle

Oracle data types and Microsoft SQL Server data types do not always match exactly.W miarę możliwości odpowiedniego typu danych jest zaznaczane automatycznie podczas publikowania tabela programu Oracle.W przypadkach, że dane jednego typu mapowania nie jest jasne, pod warunkiem że mapowania typu danych alternatywnych.Aby uzyskać informacje dotyczące wybierz alternatywny mapowania, zobacz "Określanie alternatywnego typu mapowania danych" sekcja w dalszej części tego tematu.

W poniższej tabela pokazano, jak typy danych są mapowane domyślnie między Oracle i SQL Server podczas przenoszenia danych z Wydawca Oracle do SQL Server dystrybutora.Kolumna alternatywy wskazuje, czy dostępne są alternatywne mapowania.

Typ danych Oracle

Typ danych programu SQL Server

Alternatywne

BINFORMACJE DOTYCZĄCE PLIKÓW

VARBINARY(MAX)

Tak

BLOB

VARBINARY(MAX)

Tak

CHAR([1-2000])

CHAR([1-2000])

Tak

CLOB

VARCHAR(MAX)

Tak

DATA

DATAIGODZINA

Tak

ZMIENNOPRZ

ZMIENNOPRZ

Nie

FLOAT([1-53])

FLOAT([1-53])

Nie

FLOAT([54-126])

ZMIENNOPRZ

Nie

ZAOKR.DO.CAŁK

NUMERIC(38)

Tak

INTERWAŁ

DATAIGODZINA

Tak

DŁUGIE

VARCHAR(MAX)

Tak

DŁUGI RAW

OBRAZ

Tak

NCHAR([1-1000])

NCHAR([1-1000])

Nie

NCLOB

NVARCHAR(MAX)

Tak

NUMER

ZMIENNOPRZ

Tak

NUMBER([1-38])

NUMERIC([1-38])

Nie

NUMBER([0-38],[1-38])

NUMERIC([0-38],[1-38])

Tak

NVARCHAR2([1-2000])

NVARCHAR([1-2000])

Nie

RAW([1-2000])

VARBINARY([1-2000])

Nie

Liczba rzeczywista

ZMIENNOPRZ

Nie

WŁAŚCIWOŚĆ ROWID

CHAR(18)

Nie

SYGNATURA CZASOWA

DATAIGODZINA

Tak

TIMESTAMP(0-7)

DATAIGODZINA

Tak

TIMESTAMP(8-9)

DATAIGODZINA

Tak

TIMESTAMP(0-7) ZE STREFY CZASOWEJ

VARCHAR(37)

Tak

TIMESTAMP(8-9) ZE STREFY CZASOWEJ

VARCHAR(37)

Nie

TIMESTAMP(0-7) Z LOKALNEJ STREFY CZASOWEJ

VARCHAR(37)

Tak

TIMESTAMP(8-9) Z LOKALNEJ STREFY CZASOWEJ

VARCHAR(37)

Nie

UROWID

CHAR(18)

Nie

VARCHAR2([1-4000])

VARCHAR([1-4000])

Tak

Zagadnienia dotyczące mapowania typu danych

Podczas replikowania danych z bazy danych Oracle, należy pamiętać o następujących problemów typu danych.

Nieobsługiwane typy danych

Następujące typy danych są nieobsługiwane. nie można zreplikować te typy kolumn:

  • Typy obiektów

  • Typy XML

  • Varrays

  • Zagnieżdżone tabele

  • Kolumny, które używają REF

Typ danych Data

Dates in SQL Server range from 1753 A.D.to 9999 A.D., whereas dates in Oracle range from 4712 B.C.to 4712 A.D.Jeśli kolumna typu Data zawiera wartości, które nie są zakres dla programu SQL Server, należy wybrać typ danych alternatywnych dla kolumna, która jest VARCHAR(19).

PŁYWAK i typów liczbowych

Skala i dokładność określona podczas mapowania typów danych ZMIENNOPRZECINKOWYCH i liczba zależy od skali i precyzja określona dla kolumna przy użyciu typu danych w bazie danych Oracle.Dokładność jest liczba cyfr w liczbie.Skala jest liczba cyfr po prawej stronie przecinka dziesiętnego w szeregu.Na przykład liczba 123.45 ma dokładność 5 i skali 2.

Oracle zezwala numerów zdefiniowane skalę większa dokładność, takich jak NUMBER(4,5), ale SQL Server wymaga dokładność równa lub większa od skali.Aby zapewnić, nie ma żadnego obcięcia danych, jeśli skala jest większa dokładność wydawca Oracle, dokładność jest zestaw równa skali podczas mapowania typów danych: Number(4,5) mogłyby być mapowane jako NUMERIC(5,5).

Ostrzeżenie

Jeśli nie określisz skalę i dokładność numeru SQL Server domyślnie używa maksymalną skalę (8) i dokładność (38).Zalecane jest zestaw określoną skalę i precyzję w Oracle lepiej przechowywania i wydajność podczas replikowania danych.

Duże typów obiektów

Oracle obsługuje do 4 gigabajtów (GB) w związku z SQL Server obsługuje do 2 GB.Dane replikowane powyżej 2 GB jest obcinana.

Jeśli tabela programu Oracle zawiera kolumna bInformacje dotyczące plików, dane dla kolumna są przechowywane w systemie plików.Replikacja administracyjne konto użytkownika musi mieć przyznany dostęp do katalogu, w którym dane są przechowywane przy użyciu następującej składni:

GRANT READ ON DIRECTORY <directory_name> TO <replication_administrative_user_schema>

Aby uzyskać więcej informacji na temat typów dużych obiektów można znaleźć w sekcji "Uwagi dla dużych obiektów" in Projektowanie uwagi i ograniczenia dla wydawców Oracle.

Określanie mapowania typu danych alternatywne

Zazwyczaj jest domyślnego mapowania typów danych, ale dla wielu typów danych Oracle, można wybrać typ danych mapowania z zestaw mapowania alternatywnej, zamiast domyślnego.Aby określić alternatywne mapowania na dwa sposoby:

  • Zastąpić domyślne na podstawie artykuł na za pomocą nowego Kreatora publikacji lub procedur przechowywanych.

  • Globalnie zmienić domyślne dla wszystkich przyszłych artykułów używania procedury przechowywanej (wartości domyślne nie są zmieniane istniejące artykuły).

Aby określić alternatywne mapowania typów danych