Aracılığıyla paylaş


IBM DB2 aboneleri

SQL Serverdestekler itme abonelikleri IBM DB2 400, DB2/mvs ve DB2 Universal Database ile birlikte gelen ole db sağlayıcıları aracılığıyla MicrosoftHost Integration Server.

IBM DB2 abone yapılandırma

IBM DB2 abone yapılandırmak için şu adımları izleyin:

  1. En son sürümünü yüklemek Microsoftole db Provider for DB2 dağıtımcı:

    • If you are using Microsoft SQL Server 2012 Enterprise, SQL Server 2008 yüklemeleri Web sayfasında, İlgili yüklemeler bölümünde, Microsoft SQL Server 2008 Feature Pack sürümünü bağlantısını tıklatın. Tarih Microsoft SQL Server 2008 Feature Pack Web sayfası, arama Microsoft ole db Provider for DB2.

    • If you are using SQL Server 2012Standart, en son sürümünü yüklemek Microsoftana Integration ServicesSağlayıcı içerir (onun) sunucusu,.

    Sağlayıcı yüklemenin yanı sıra, sonraki adımda kullanılan veri erişim aracı, yüklemenizi öneririz (indirmek için birlikte varsayılan olarak yüklenir SQL Server 2012kuruluş). Yükleme ve veri erişim Aracı'nı kullanma hakkında daha fazla bilgi için sağlayıcının belgelerine veya HIS belgelerine bakın.

  2. Bağlantı dizesi için abone oluşturun. Bağlantı dizesi içinde birisi metin yayıncı oluşturulabilir, ancak veri erişim aracı kullanmanızı öneririz. Veri erişim aracı dizesini oluşturmak için:

    1. Tıklatın Başlangıç, Program, Microsoft ole db Provider for DB2ve veri erişim aracı.

    2. İçinde Veri erişim aracı, DB2 sunucu hakkında bilgi sağlamak için aşağıdaki adımları izleyin. Aracı'nı tamamladığınızda, universal data link (udl) ilişkili bağlantı dizesi ile oluşturulur (udl aslında çoğaltma tarafından kullanılır, ancak bağlantı dizesi).

    3. Bağlantı dizesi erişmek: veri erişim aracında udl sağ tıklayın ve seçin Görüntü bağlantı dizesi.

    Bağlantı dizesi (satır sonları okunabilirlik için olan) benzer olacaktır:

    Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252;
    PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL;
    Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT;
    Persist Security Info=False;Connection Pooling=True;
    
    Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252;
    PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL;
    Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT;
    Persist Security Info=False;Connection Pooling=True;
    

    Dize seçenekleri çoğu DB2'ye özel sunucu, yapılandırma, ama Process Binary as Characterseçeneği her zaman olarak ayarlanmalıdır False. Bir değer için gerekli Initial Catalogabonelik veritabanı tanımlamak için seçeneği. Abonelik oluşturduğunuzda bağlantı dizesi Yeni Abonelik Sihirbazı'nda girilecektir.

  3. Bir anlık görüntü veya işlem yayın oluşturmak, bunun için etkinleştirmek olmayan- SQL Server abone ve sonra bir itme abonelik oluşturmak için abone. Daha fazla bilgi için, bkz. Bir olmayan-SQL Server abone için bir abonelik oluştur.

  4. İsteğe bağlı olarak bir veya daha fazla makaleler için özel oluşturma komut dosyası belirtin. Tablo oluşturma komut dosyası tablo yayınlandığında, bu tablo için oluşturulur. İçin olmayan- SQL Server aboneleri, komut dosyası içinde oluşturulan Transact-SQLlehçesi ve sonra tercüme için daha genel bir sql diyalekt Dağıtım Aracısı tarafından Abone tarafında uygulanan önce. Özel oluşturma komut dosyası belirtmek için ya da mevcut değiştirmek Transact-SQLkomut dosyası veya DB2 sql diyalekt; kullanan tüm komut dosyası oluşturma DB2 komut dosyası oluşturduysanız, bypass_translation yönergesi böylece dağıtım aracı abone olmadan çeviri komut geçerli olacaktır.

    Komut dosyaları çeşitli nedenlerle için değiştirilebilir, ancak veri türü eşlemeleri değiştirmek için en yaygın nedenidir. Daha fazla bilgi için bkz: "veri türü eşleştirme düşünceleri" Bu konu bölümünde. Değiştirirseniz, Transact-SQLkomut dosyası, değişiklik veri türü eşleştirme değişiklikleri sınırlı olmalıdır (ve komut dosyası açıklamaları içermelidir). Daha önemli değişiklikler gerekiyorsa, DB2 komut dosyası oluşturun.

    Makale komut dosyasını değiştirmek ve özel oluşturma komut dosyası tedarik

    1. Yayın için anlık görüntüsünü oluşturulduktan sonra yayını anlık görüntü klasörüne gidin.

    2. Makale, MyArticle.sch gibi aynı ada sahip .sch dosyasını bulun.

    3. Bu dosyayı Not Defteri'nde veya başka bir metin düzenleyicisi kullanarak açın.

    4. Dosyayı değiştirmek ve farklı bir dizine kaydedin.

    5. İdam sp_changearticle, dosya yolu belirtme ve için ad creation_scriptözellik. Daha fazla bilgi için, bkz. veyasp_changearticle (Transact-sql).

    Makale komut dosyası oluşturma ve özel oluşturma komut dosyası tedarik

    1. DB2 sql diyalekt kullanarak bir makale komut dosyası oluşturun. Dosyanın ilk satırı olduğundan emin olun bypass_translation, satırda başka bir şey.

    2. İdam sp_changearticle, dosya yolu belirtme ve için ad creation_scriptözellik.

IBM DB2 aboneleri için değerlendirmeleri

Ek hususlar kapsamında konusuna Olmayan-SQL Server aboneleri, DB2 aboneleri çoğaltılıyor olduğunda aşağıdaki konuları göz önünde bulundurun:

  • Veri ve dizinler çoğaltılmış her tablo için bir DB2 tablespace atanır. En çok sütun sayısı ve en büyük satır boyutunu tablespace ait tabloların bir DB2 tablespace sayfa boyutunu denetler. Yinelenen tabloyla ilişkili tablespace uygun çoğaltılmış sütun sayısını ve tablolarının en büyük satır boyutunu temel alarak emin olun.

  • Tablolar, DB2 aboneleri bir veya birden çok birincil anahtar sütunları tablo veri türü ondalık (32-38, 0-38) ise işlem çoğaltma kullanarak veya sayısal (32-38, 0-38) yayımlamayın. Işlem çoğaltma birincil anahtarı kullanarak satır tanımlar; Bu veri türleri için varchar(41) abone eşlenen çünkü bu hatalara neden. Tablolar ile bu veri türleri kullanın birincil anahtarlar, anlık görüntü çoğaltma kullanarak yayımlanabilir.

  • Abone adresindeki tabloları ayarlanamadı istiyorsanız, yineleme oluşturmak yerine bunları kullanmak replication support onlyseçeneği. Daha fazla bilgi için, bkz. Anlık görüntü olmadan bir işlemsel abonelik başlatmanıza.

  • SQL Serveruzun tablo adları ve sütun adlarını DB2 daha sağlar:

    • Yayını veritabanı abone DB2 sürümünde desteklenen daha uzun tablolar içeriyorsa, belirtmek için diğer bir ad destination_tablemakale özellik. Bir yayın oluştururken özellikleri ayarlama hakkında daha fazla bilgi için bkz: Yayın oluşturmave Bir makale tanımlamak.

    • Alternatif sütun adları belirlemek mümkün değildir. Yayımlanmış tablolarda sütun adlarını DB2 sürümüne abone desteklenen daha uzun içermez emin olmanız gerekir.

IBM DB2 SQL Server'dan veri türlerini eşleştirme

Aşağıdaki tabloda, IBM DB2 çalıştıran bir abone veri çoğaltıldığında kullanılan veri türü eşlemeleri gösterir.

SQL Server veri türü

IBM DB2 veri türü

bigint

DECIMAL(19,0)

binary(1-254)

BIT VERİ CHAR(1-254)

binary(255-8000)

BIT VERİ VARCHAR(255-8000)

bit

SMALLINT

char(1-254)

CHAR(1-254)

char(255-8000)

VARCHAR(255-8000)

date

DATE

datetime

ZAMAN DAMGASI

datetime2(0-7)

VARCHAR(27)

datetimeoffset(0-7)

VARCHAR(34)

decimal(1-31, 0-31)

ONDALIK (1-31, 0-31)

decimal(32-38, 0-38)

VARCHAR(41)

float(53)

ÇİFT

float

FLOAT

geography

GÖRÜNTÜ

geometry

GÖRÜNTÜ

hierarchyid

GÖRÜNTÜ

image

BIT veri için varchar(0)1

into

INT

money

DECIMAL(19,4)

nchar(1-4000)

VARCHAR(1-4000)

ntext

varchar(0)1

numeric(1-31, 0-31)

DECIMAL(1-31,0-31)

numeric(32-38, 0-38)

VARCHAR(41)

nvarchar(1-4000)

VARCHAR(1-4000)

nvarchar(max)

varchar(0)1

real

GERÇEK

smalldatetime

ZAMAN DAMGASI

smallint

SMALLINT

smallmoney

DECIMAL(10,4)

sql_variant

Yok

sysname

VARCHAR(128)

text

varchar(0)1

time(0-7)

VARCHAR(16)

timestamp

BIT VERİ CHAR(8)

tinyint

SMALLINT

uniqueidentifier

CHAR(38)

varbinary(1-8000)

BIT VERİ VARCHAR(1-8000)

varchar(1-8000)

VARCHAR(1-8000)

varbinary(max)

BIT veri için varchar(0)1

varchar(max)

varchar(0)1

xml

varchar(0)1

1 varchar(0) eşlemeleri hakkında daha fazla bilgi için sonraki bölüme bakın.

Veri türü eşleştirme düşünceleri

DB2 aboneleri çoğaltılıyor olduğunda aşağıdaki veri türü eşleştirme sorunları göz önünde bulundurun:

  • Eşlerken SQL Server   char, varchar, binaryve varbinaryDB2 char, varchar, BIT veri için char ve varchar için BIT veri için sırasıyla, çoğaltma, aynı olması için DB2 veri türünü ayarlar SQL Servertürü.

    DB2 sayfa boyutu kısıtlamasını boyutu satır karşılayacak kadar büyük olduğu sürece bu başarıyla Abone tarafında oluşturulan oluşturulan tablo sağlar. DB2 veritabanına erişim için kullanılan oturum açma tablosu alanlarda yeterli boyutta DB2'ye çoğaltılmasını tablolar için erişim izinleri olduğundan emin olun.

  • DB2 varchar Sütun 32 kilobayttır (kb); büyük destek olabilir Bu nedenle olası bazı SQL Serverbüyük nesne sütunlar uygun şekilde eşlenmiş DB2 varchar sütunlar için. Ancak, çoğaltma için ole db sağlayıcı kullanır DB2 eşleme desteklemiyor SQL Serverbüyük nesneleri DB2 büyük nesnelere. Bu nedenle, SQL Server   text, varchar(max), ntext, ve nvarchar(max)sütunları oluşturulan oluşturma komut varchar(0) için eşleştirilir. Uzunluk değeri 0, abone için komut dosyası uygulamak için önce uygun bir değere değiştirilmelidir. DB2 veri türünün uzunluğu değiştirilmez, hata 604 arttıracak tabloyu oluşturduğunuzda DB2 Abone tarafında çalıştı (hata 604 gösterir veri türü duyarlık veya uzunluk özniteliği geçerli değil).

    Eşlemek uygun olup olmadığını belirlemek çoğaltma kaynak tablo sizin haberiniz alarak, bir SQL Serverbüyük nesne bir değişken uzunlukta DB2 madde ve özel bir oluşturulmasında uygun maksimum uzunluğu belirtin JavaScript Özel oluşturma komut dosyası belirtme hakkında daha fazla bilgi için bkz: adım 5 "Bir IBM DB2 abone yapılandırma" bölümünde Bu konuda.

    [!NOT]

    Diğer sütun uzunlukları ile birleştirildiğinde DB2 türü için belirtilen uzunluk tablo verilerini atanan DB2 tablo alanı temel en büyük satır boyutunu aşamaz.

    Uygun eşleme yok büyük nesne sütun varsa, sütun sütun değil çoğaltılır ki makale süzme kullanmayı düşünün. Daha fazla bilgi için, bkz. Yayımlanmış veri süzme.

  • Çoğaltma yapılırken SQL Server  ncharve nvarcharDB2 char ve varchar, çoğaltma için DB2 türü için aynı uzunluğu belirleyici kullanır SQL Servertürü. Ancak, veri türünün uzunluğu çok küçük için oluşturulan DB2 tablosu olabilir.

    Bazı DB2 ortamlarda bir SQL Server  charveri öğesi Kısıtlanmamış tek baytlık karakter; char veya varchar öğesinin uzunluğu bu hesaba katmanız gerekir. Da hesaba katmanız gerekir vardiya ve vardiya üzerinden gerekirse karakter. Tablolarla çoğaltıyorsanız ncharve nvarcharsütun, büyük en çok veri türü için özel bir oluşturulmasında belirtmek gerekebilir JavaScript Özel oluşturma komut dosyası belirtme hakkında daha fazla bilgi için bkz: adım 5 "Bir IBM DB2 abone yapılandırma" bölümünde Bu konuda.

Ayrıca bkz.

Kavramlar

Olmayan-SQL Server aboneleri

Yayınlara abone