Oracle yayımcılar için veri türü eşleştirme
Oracle veri türlerini ve Microsoft SQL Serververi türleri her zaman aynı değil tam. Mümkün olduğu durumlarda, bir Oracle tablo yayımlarken eşleşen veri türünü otomatik olarak seçilir. Durumlarda tek bir veri eşleme yazın açık değildir, alternatif veri türü eşlemeleri sağlanır. Alternatif eşlemeleri seçme hakkında daha fazla bilgi için bkz: "Belirterek alternatif veri türü eşlemeleri" Bu konuda daha sonra açıklanan bölümü.
Aşağıdaki tabloda veri türleri Oracle arasındaki varsayılan nasıl eşleştirildikleri gösterilmiştir ve SQL Serverzaman veri taşındı dan Oracle yayımcı için SQL Serverdistribütörü. Alternatifler sütunu, alternatif eşlemeleri kullanılabilir olup olmadığını gösterir.
Oracle veri türü |
SQL Server veri türü |
Alternatifleri |
---|---|---|
BDOSYA |
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 |
ARALIĞI |
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İ İLE TIMESTAMP(0-7) |
VARCHAR(37) |
Evet |
Zaman damgası |
VARCHAR(37) |
Hayır |
TIMESTAMP(0-7) İLE YEREL SAAT DİLİMİ |
VARCHAR(37) |
Evet |
ZAMAN DAMGASI İ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 hakkında önemli noktalar
Aşağıdaki veri türü sorunları Oracle veritabanından veri çoğaltılıyor olduğunda unutmayın.
Desteklenmeyen veri türleri
Aşağıdaki veri türleri desteklenmez; Bu tür sütunları yinelenemez:
Nesne türleri
xml türleri
Varrays
İç içe tablolar
ref kullanın sütunlar
Tarih veri türü
Tarihleri içinde SQL Serveraralığından 1753 a.d. için 9999 m.s., 4712 b.c. Oracle tarihleri aralığında ise 4712 a.d. Türü tarihi SQL Server için sınırların dışında değerler içeren bir sütun varchar(19) sütun, alternatif veri türünü seçin.
float ve numara türleri
float ve sayı veri türü eşleme sırasında belirtilen duyarlılık ve ölçek ölçek ve Oracle veritabanında veri türünü kullanarak sütunu için belirtilen duyarlılık üzerine bağlıdır. Hassas birkaç basamak sayısıdır. Ölçek sayıyı ondalık noktanın sağındaki basamak sayısıdır. Örneğin, 123.45 sayısı 5 bir duyarlık ve ölçeği 2 vardır.
Oracle sayıları daha hassas, number(4,5) gibi büyük ölçekli tanımlanması sağlar ama SQL Servereşit veya daha büyük ölçekli duyarlık gerektirir. Veri türü eşlenen Ölçek duyarlılık Oracle yayımcı büyükse, orada hiçbir veri kesilmesi, emin olmak için duyarlılık ölçeği için eşit ayarlanır: number(4,5) NUMERIC(5,5) eşleştirilmiş.
[!NOT]
Eğer bir ölçek ve hassas numarası için belirtmezseniz, SQL Serveren büyük ölçekli (8) ve duyarlık (38) kullanarak varsayılan. Veri çoğaltıldığında, belirli ölçek ve hassas Oracle içinde daha iyi depolama ve performans için ayarlamanızı öneririz.
Büyük nesne türleri
Oracle, SQL Server destekler 2 GB'a kadar ise en çok 4 gigabayt (gb), destekler. 2 gb çoğaltılan veriler kesildi.
Bir Oracle tablo BDOSYA sütun varsa, sütun için veri dosya sisteminde depolanır. Çoğaltma yönetimsel kullanıcı hesabı aşağıdaki sözdizimini kullanarak verilerin depolandığı dizine erişim verilmelidir:
GRANT READ ON DIRECTORY <directory_name> TO <replication_administrative_user_schema>
Büyük nesne türleri hakkında daha fazla bilgi için bkz: bölümü "Düşünceleri için büyük nesneleri" in Design Considerations and Limitations for Oracle Publishers.
Alternatif veri türü eşleştirmeleri belirtme
Genelde, varsayılan veri türü eşleştirme uygundur, ancak birçok Oracle veri türü için varsayılan kullanmak yerine, alternatif eşlemeleri kümesinden eşleme bir veri türü seçebilirsiniz. Alternatif eşlemeleri belirtmek için iki yol vardır:
Saklı yordamlar veya yeni yayın sihirbazını kullanarak bir makale başına temelinde Varsayılanı geçersiz kılar.
Genel olarak tüm gelecek makaleler (Varsayılanları değiştirilmez, varolan makaleler için) saklı yordamları kullanmak için varsayılan değiştirin.
Alternatif veri türü eşlemeleri belirtmek için bkz: Oracle Publisher veri türü eşleştirmeleri belirtin.