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
SQL Server Management Studio: Nasıl Yapılır: Bir Oracle Yayımcı (SQL Server Management Studio'yu) veri türü eşlemeler belirtin
Çoğaltma programlama: Nasıl Yapılır: Bir Oracle Yayımcı (çoğaltma programı Transact-SQL) veri türü eşlemeler belirtin