Aracılığıyla paylaş


Oracle Yayımcılar için veri türü eşleştirme

Oracle data types and Microsoft SQL Server data types do not always match exactly.Mümkünse, eşleşen veri türünü otomatik olarak bir Oracle yayımlarken seçili tablo.Durumlarda tek bir veri eşleme yazın, düz değil, başka bir veri türü eşlemeler sağlanır.Alternatif bir eşlemeler seçme hakkında daha fazla bilgi için bu konunun ilerleyen bölümlerindeki "Belirtme alternatif veri türü eşlemeler" bölümüne bakın.

Aşağıdaki tabloda, veri türleri Oracle arasındaki varsayılan olarak nasıl eşleştirildikleri gösterilmiştir ve SQL Server Oracle yayımcıya gelen veri ne zaman taşınır SQL Server dağıtımcı. Seçenekleri sütun alternatif eşlemeler kullanılabilir olup olmadığını gösterir.

Oracle veri türü

SQL Server veri türü

Seçenekleri

bfile

varbinary(max)

Evet

blob

varbinary(max)

Evet

char([1-2000])

char([1-2000])

Evet

clob

varchar(max)

Evet

DATE

DATETIME

Evet

FLOAT

FLOAT

Hayır

float([1-53])

float([1-53])

Hayır

float([54-126])

FLOAT

Hayır

INT

numeric(38)

Evet

ARALIK

DATETIME

Evet

UZUN

varchar(max)

Evet

UZUN HAM

GÖRÜNTÜ

Evet

nchar([1-1000])

nchar([1-1000])

Hayır

nclob

nvarchar(max)

Evet

SAYI

FLOAT

Evet

number([1-38])

numeric([1-38])

Hayır

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

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

Evet

nvarchar2([1-2000])

nvarchar([1-2000])

Hayır

raw([1-2000])

varbinary([1-2000])

Hayır

GERÇEK

FLOAT

Hayır

rowid

char(18)

Hayır

ZAMAN DAMGASI

DATETIME

Evet

timestamp(0-7)

DATETIME

Evet

timestamp(8-9)

DATETIME

Evet

SAAT DİLİMİNİ İLE timestamp(0-7)

varchar(37)

Evet

SAAT DİLİMİNİ İLE timestamp(8-9)

varchar(37)

Hayır

timestamp(0-7) İLE YEREL SAAT DİLİMİ

varchar(37)

Evet

timestamp(8-9) İLE YEREL SAAT DİLİMİ

varchar(37)

Hayır

urowid

char(18)

Hayır

varchar2([1-4000])

varchar([1-4000])

Evet

Veri türü eşleştirme ile ilgili konuları

Veri türü aşağıdaki sorunlar, bir Oracle veritabanından veri çoğaltma sırasında göz önünde bulundurun.

Desteklenmeyen veri türleri

Aşağıdaki veri türleri desteklenmiyor; bu türleri içeren sütunlar yinelenemez:

  • Nesne türleri

  • XML türleri

  • Varrays

  • Iç içe geçmiş tablolar

  • REF kullanan sütunlar

tarih veri türü

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.TARIH, SQL Server için aralık dışında değerler içeren türü bir sütun VARCHAR(19) olan sütunu, alternatif veri türünü seçin.

FLOAT ve NUMARA türleri

FLOAT ve NUMARA veri türlerini eşleştirme sırasında belirtilen duyarlık ve ölçek bir Oracle veritabanında veri türünü kullanarak sütun için belirtilen duyarlık ve ölçek üzerinde bağlıdır.Duyarlık bir sayıda basamak sayısıdır.Ölçek, bir sayı ondalık virgülün sağındaki basamak sayısıdır.Örneğin, 5 bir duyarlık ve ölçeği 2 123.45 numarası vardır.

Sayı duyarlığı, NUMBER(4,5) gibi büyük ölçekli bir tanımlanmış Oracle sağlar ancak SQL Server Duyarlık, Ölçek'den büyük veya eşit olması gerekir. Veri türü eşleştirilmişse, ölçeği en Oracle yayımcı duyarlık büyükse hiçbir veri kesme yok emin olmak için , duyarlığı için Ölçek küme: NUMBER(4,5) NUMERIC(5,5) eşleştirilmiş.

Not

Siz bir ölçeğini ve duyarlılığını NUMARASı için belirtmezseniz SQL Server en büyük ölçek (8) ve duyarlık (38) kullanarak varsayılan'ı tıklatın. Önerilir, küme bir özel ölçek ve daha iyi depolama ve veri çoğaltıldığında performansı için Oracle, duyarlık.

Büyük nesne türleri

Oracle, 2 GB'YE kadar SQL Server'ı destekler, ancak en çok 4 gigabayt (GB) destekler.2 GB'ın çoğaltılan veriler kesildi.

Bir Oracle, tablo dosya sisteminde depolanan bir sütun için sütun, veri BFILE içerir.Aşağıdaki sözdizimini kullanarak, verilerin depolandığı dizine erişim çoğaltma yönetici kullanıcı hesabına sahip olmanız gerekir:

GRANT READ ON DIRECTORY <directory_name> TO <replication_administrative_user_schema>

Büyük nesne türleri hakkında daha fazla bilgi için "İlgili konular için büyük nesneleri" bölümüne bakın Tasarım konuları ve Oracle Yayımcılar için kısıtlamaları.

Alternatif veri türü eşlemeler belirtme

Genelde, varsayılan veri türü eşleştirme uygun, ancak birçok Oracle veri türü için bir veri türü eşlemesinden seçebileceğiniz bir küme yerine alternatif eşlemeler, varsayılan kullanarak.Alternatif bir eşlemeler belirtmek için iki yol vardır:

  • Saklı yordamlar veya yeni bir yayın Sihirbazı'nı kullanarak bir makale başına bazında Varsayılanı geçersiz kılar.

  • Saklı yordamlar (varolan makaleler için varsayılan değeri değiştirilmez) kullanarak gelecekteki tüm makaleleri için varsayılan değer genel olarak değiştirin.

Alternatif veri türü eşlemeler belirtmek için