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
SQL Server Management Studio: Jak Określanie mapowania typu danych dla Wydawca Oracle (SQL Server Management Studio)
Programowanie replikacji: Jak Określ typ danych mapowania dla Wydawca Oracle (Programowanie replikacji Transact-SQL)