Aracılığıyla paylaş


IBM DB2 aboneleri

Microsoft SQL Server supports push subscriptions to IBM DB2/AS 400, DB2/MVS, and DB2/Universal Database through the OLE DB providers that are included with Microsoft Host Integration Server.

IBM DB2 abone yapılandırma

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

  1. En son sürüm yüklemek Microsoft ole db Provider for DB2'in dağıtıcı:

    • Kullanıyorsanız, SQL Server 2008 Enterprise, sql Server 2008 yüklemeleri Web sayfa, İlgili yüklemeler bölümünde, Microsoft sql Server 2008 Feature Pack'ın en son sürüm için bağlantıyı tıklatın.Üzerinde Microsoft sql Server 2008 Feature Pack Web sayfa, arama Microsoft ole db Provider for DB2'in.

    • Kullanıyorsanız, SQL Server 2008 Standart, en son sürüm yüklemek Microsoft ana Integration Services (HIS) sunucusu içeren sağlayıcı.

    Sağlayıcı yükleme ek olarak, bir sonraki adımda kullanılan veri erişim aracı, yüklemenizi öneririz (karşıdan ile varsayılan olarak yüklenen SQL Server 2008 kuruluş).Yükleme ve veri erişim aracı kullanma hakkında daha fazla bilgi için bkz: sağlayıcı belgelerine veya HIS belgeleri.

  2. Bir bağlantı oluşturmak dize abone için.Bağlantı dize herhangi bir metin düzenleyicisinde oluşturulabilir, ancak veri erişim aracı kullanmanızı öneririz.Oluşturmak için dize veri erişim aracında:

    1. ' I Başlat, Program, Microsoft ole db Provider for db2ve veri erişim aracı.

    2. De Veri erişim aracı, DB2 sunucu hakkında bilgi sağlamak için aşağıdaki adımları izleyin.araç tamamlamak, bir universal data link (udl) ile ilişkili bir bağlantı oluşturulduğunda dize (udl gerçekten çoğaltma, ancak bağlantı tarafından kullanılan değil dize olur).

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

    Bağlantı dize (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;
    

    Yapılandırdığınız, DB2 sunucusuna özgü dize içindeki seçeneklerin çoğu, ancak Process Binary as Character seçeneği her zaman olması gereken küme için False.Bir değer gereklidir Initial Catalog seçeneğini belirlemek abonelik veritabanı.Bağlantı dize abonelik oluşturduğunuzda, yeni abonelik Sihirbazı'nda girmiş.

  3. Anlık görüntü veya işlem yayın oluşturma, etkinleştirmek için olmayan-SQL Server aboneleri ve sonra bir gönderme temelli abonelik için abone.Daha fazla bilgi için, bkz:

  4. İsteğe bağlı olarak, bir veya daha fazla makaleleri için özel oluşturma komut dosyası belirtin.Tablo yayımlandığında, bu tablo için bir tablo oluşturma komut dosyası oluşturulur.İçin olmayan-SQL Server aboneleri, komut dosyası oluşturuldu Transact-SQL diyalekt, ve sonra bir daha genel bir sql için çevrilen diyalekt önce abone. uygulanmakta olan Dağıtım Aracısı tarafındanÖzel oluşturma komut dosyası belirtmek için ya da varolan değiştirme Transact-SQL komut dosyası veya DB2 sql kullanır tam bir komut dosyası oluşturmak diyalekt; DB2 komut dosyası oluşturduysanız, bypass_translation yönergesi, böylece Dağıtım Aracısı abone çeviri olmadan komut geçerli olacaktır.

    Komut dosyaları, pek çok nedenden ötürü değiştirilebilir, ancak en yaygın kullanılan veri türü eşlemeleri değiştirmek için nedenidir."Veri türü eşleştirme değerlendirmeleri" daha fazla bilgi için bkz: Bu bölümde.Değiştirirseniz, Transact-SQL komut dosyası, değişiklikler olması gereken veri türü eşleştirme değişiklikleri Yasak (ve komut dosyası açıklamaları içermelidir).Daha önemli değişikliklerin yapılması gerekmektedir, DB2 komut dosyası oluşturun.

    Bir makale komut dosyasında değişiklik yapmak ve özel oluşturma komut dosyası olarak tedarik

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

    2. MyArticle.sch gibi makale aynı adı taşıyan .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. Yürütme sp_changearticle, dosya yol belirtme ve adında creation_script özellik.Daha fazla bilgi için bkz: sp_changearticle (Transact-sql).

    Bir makale komut dosyası oluşturma ve özel oluşturma komut dosyası olarak 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 bir şey ile.

    2. Yürütme sp_changearticle, dosya yol belirtme ve adında creation_script özellik.

IBM DB2 aboneleri için değerlendirmeleri

Yanında dikkat edilmesi gereken noktalar konusunda ele alınan 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 tablo alanı için atanır.En çok sütun sayısı ve satır boyutu için bir tablo alanı ait tabloların DB2 tablo alanı sayfa boyutunu denetler.Çoğaltılmış bir tablo ile ilişkili tablo alanı uygun olan çoğaltılmış sütun sayısını ve tabloları en büyük satır boyutunu temel alarak emin olun.

  • Yayınlama tabloişlemsel kopyalamanın bir veya daha fazla birincil anahtar sütunlar kullanarak DB2 aboneleri için s tablo veri türü (32-38, 0-38) ondalık veya sayısal (32-38, 0-38).İşlem çoğaltma ; birincil anahtar kullanarak satır tanımlar Bu veri türleri için varchar(41) abone adresindeki eşlendiğinden bu hatalarına da neden olabilir.Bu veri türlerini kullanmak birincil anahtarlar içeren tabloları, anlık görüntü çoğaltması çoğaltması çoğaltma kullanarak yayınlanabilir.

  • Abone adresindeki tabloları önceden istiyorsanız, çoğaltma oluşturmak yerine bunları kullanmak replication support only seçeneği.Daha fazla bilgi için bkz: Bir anlık görüntü olmadan bir işlemsel abonelik başlatılıyor.

  • SQL Server uzun tablo adları ve sütun adlarını DB2'den izin verir:

IBM DB2 için sql Server'dan veri türlerini eşleştirme

Aşağıdaki tablo 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 değerlendirmeleri

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

  • When mapping SQL Server char, varchar, binary and varbinary to DB2 CHAR, VARCHAR, CHAR FOR BIT DATA, and VARCHAR FOR BIT DATA, respectively, replication sets the length of the DB2 data type to be the same as that of the SQL Server type.

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

  • DB2 varchar sütun 32 kilobayttır (kb); büyük destekler Bu nedenle, diğer bazı mümkündür SQL Server büyük nesne sütunlar gerektiği gibi eşlenen DB2 varchar sütunlar.Ancak, ole db sağlayıcı çoğaltma kullanır DB2 eşleştirmesi desteği için SQL Server büyük nesneler için DB2 büyük nesneler.For this reason, SQL Server text, varchar(max), ntext, and nvarchar(max) columns are mapped to VARCHAR(0) in the generated create scripts.Uzunluğu 0 değeri, abone ile komut dosyası uygulamak için önce uygun bir değer için değiştirilmesi gerekir.DB2 veri türünün uzunluğu değiştirilirse, hata 604 yükseltecektir tablo oluşturduğunuzda DB2 Abone tarafında çalıştı (604 hata gösterir veri türü duyarlık veya uzunluğu öznitelik geçerli değil).

    Temel kaynak bilginizi tablo , çoğaltmak, eşlemek uygun olup olmadığını belirlemek bir SQL Server büyük nesne bir değişken uzunlukta DB2 öğe ve özel bir oluşturmada uygun bir maksimum uzunluğu belirtin komutAdım 5 "Yapılandırma bir IBM DB2 abone" bölümündeki özel oluşturma komut dosyası belirtme hakkında daha fazla bilgi için bkz: Bu konuda.

    Not

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

    Büyük nesne sütun için uygun eşleşme yok ise, sütun sütun yinelenen böylece makale filtre kullanarak düşünün.Daha fazla bilgi için bkz: Veri süzme yayımlandı.

  • When replicating SQL Server nchar and nvarchar to DB2 CHAR and VARCHAR, replication uses the same length-specifier for the DB2 type as for the SQL Server type.Bununla birlikte, veri türünün uzunluğu olabilir çok küçük için oluşturulan DB2 tablo.

    In some DB2 environments, a SQL Server char data item is not restricted to single-byte characters; the length of a CHAR or VARCHAR item must take this into account.Hesaba katmanız gerekir SHIFT, ve shift out gerekirse, karakter.Tablolarla çoğaltıyorsanız nchar ve nvarchar sütunlar, gerek özel oluşturulmasında veri türü için daha büyük bir en fazla uzunluk belirtmek komutAdım 5 "Yapılandırma bir IBM DB2 abone" bölümündeki özel oluşturma komut dosyası belirtme hakkında daha fazla bilgi için bkz: Bu konuda.