Aracılığıyla paylaş


IBM DB2 aboneleri

Microsoft SQL Server destekler ile birlikte gelen OLE DB sağlayıcıları üzerinden DB2/AS 400 IBM DB2/MVS ve DB2/Evrensel veritabanı için abonelikler gönderme Microsoft Host ıntegration Server.

Bir 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 dağıtımcı üzerinde DB2 için OLE DB sağlayıcı:

    • Kullanıyorsanız SQL Server 2008 Enterprise, üzerinde SQL Server 2008'i karşıdan yükleme Web sayfaIlgili yüklemeler bölümünde, Microsoft SQL Server 2008 Feature Pack'in en son sürüm tıklatın.Üzerinde Microsoft SQL Server 2008 Feature Pack Arama Web sayfaDB2 için Microsoft OLE DB sağlayıcı.

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

    Sağlayıcı yükleme yanında, (karşıdan yükleme için varsayılan olarak yüklü bir sonraki adımda kullanılan veri erişim araç, yüklemenizi öneririz SQL Server 2008 Enterprise). Yükleme ve veri erişim araç'nı kullanma hakkında daha fazla bilgi için sağlayıcınızdaki belgelere veya HIS belgelerine bakın.

  2. Oluşturma bir bağlantı dizesi abone için.bağlantı dizesi Herhangi bir metin düzenleyicisinde oluşturulabilir; ancak, veri erişim araç kullanmanızı öneririz.Veri erişimi, dizeyi oluşturmak için araç:

    1. ' I tıklatın Başlangıç, Programları, DB2 için Microsoft OLE DB sağlayıcı, and then Veri erişim araç.

    2. Içinde Veri erişim araçDB2 sunucu hakkında bilgi sağlamak için bu adımları izleyin.Evrensel veri bağlantısı (UDL) araç'nı tamamladığınızda, oluşturulan ile ilişkili bir bağlantı dizesi (the UDL gerçekten çoğaltma tarafından kullanılan ancak bağlantı dizesi olur).

    3. Erişim bağlantı dizesi: Veri erişim aracında UDL sağ tıklatıp Görüntü bağlantı dizesi.

    Bağlantı dize (satır sonları, okunabilir olmaları 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;
    

    Seçenekler, çoğu dize yapılandırmakta olduğunuz DB2 sunucuya özgü ancak Process Binary as Character seçeneği her zaman küme False. Bir değer gereklidir Initial Catalog abonelik veritabanı belirlemek için seçeneği'ı tıklatın. Abonelik oluşturduğunuzda, bağlantı dizesi yeni abonelik Sihirbazı girilecektir.

  3. anlık görüntü veya işlem bir yayın oluşturursanız, etkinleştirilebilmesi için olmayan-SQL Server Abonelerin, sonra da bir gönderme temelli abonelik için abone oluşturun. Daha fazla bilgi için, bkz:

  4. Isteğe bağlı olarak, bir veya daha fazla makaleler için özel oluşturma komut dosyası belirtin.CREATE TABLE komut dosyası, bir tablo yayımlandığında, bu tablo için oluşturulur.Için olmayan-SQL Server Komut dosyası oluşturulur aboneleri, Transact-SQL Lehçe ve sonra çevrilen için daha genel bir SQL diyalekt Dağıtım Aracısı tarafından Abone tarafında önce uygulanan. Özel oluşturma komut dosyası belirtmek için , ya da varolan değiştirme Transact-SQL komut dosyası veya DB2 SQL diyalekt kullanan tam bir komut dosyası oluşturma; bir DB2 komut dosyası oluşturduysanız, bypass_translation yönergesini böylece Distribution Agent komut abone olmadan çevirisi sırasında uygulanır.

    Komut dosyaları çeşitli nedenler için değiştirilebilir, ancak veri türü eşleştirmelerini değiştirmek için en genel neden olur.Daha fazla bilgi için bu konudaki "Veri türü eşleştirme konuları" bölümüne bakın.Değiştirme, Transact-SQL komut dosyası, değişiklik yapılan veri türü eşleştirme değişiklikler sınırlandırılmalıdır (ve komut dosyası açıklamaları içermelidir). Daha önemli değişiklikler gerekliyse, DB2 komut dosyası oluşturun.

    makale komut dosyasında değişiklik yapmak ve bu özel oluşturma komut dosyası olarak sağlamak için

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

    2. makale MyArticle.sch gibi aynı adı taşıyan .sch dosyasını bulun.

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

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

    5. Dosya yolunu belirten sp_changearticle, yürütmek ve için creation_script özellik. Daha fazla bilgi için bkz: sp_changearticle (Transact-SQL).

    makale komut dosyası oluşturma ve bunu özel oluşturma komut dosyası olarak sağlamak için

    1. DB2 SQL diyalekt kullanarak bir makale komut dosyasını oluşturun.Dosyanın ilk satırı olduğundan emin olun bypass_translation, satıra bir şey ile.

    2. Dosya yolunu belirten sp_changearticle, yürütmek ve için creation_script özellik.

IBM DB2 aboneleri ilgili konuları

Konu kapsadığı konuları yanında Olmayan SQL Server aboneleri, DB2 abonelerine çoğaltmak için aşağıdaki konuları göz önünde bulundurun:

  • Veri ve dizinler için her bir yinelenen tablo için bir DB2 tablo alanı atanır.Bir DB2 tablo alanı sayfa boyutu, en çok sütun sayısı ve tablolar için tablo alanı ait en büyük satır boyutunu denetler.Çoğaltılmış sütun sayısı ve tabloların en büyük satır boyutunu temel alarak yinelenen tabloyla ilişkilendirilmiş tablo alanı uygun olduğundan emin olun.

  • Tablo bir veya birden çok birincil anahtar sütunlarını tablodaki veri türünü DECIMAL (32-38, 0-38) ise, işlem çoğaltma kullanarak bir DB2 aboneleri veya NUMERIC (32-38, 0-38) yayımlamayın.birincil anahtar kullanarak satır işlem çoğaltma tanımlar; bu hata neden olur, çünkü, bu veri türlerini VARCHAR(41) abone adresindeki eşlenir.Bu veri türlerini kullanmak, birincil anahtarlar tablolarla, anlık görüntü çoğaltması çoğaltması kullanarak yayımlanabilir.

  • Çoğaltma, bunları oluşturmak, çoğaltma kullanmak yerine, tabloları en abone pre-create istiyorsanız, seçeneği yalnızca destekler.Daha fazla bilgi için bkz: Işlem bir aboneliği olmayan bir anlık görüntü başlatılıyor.

  • SQL Server daha uzun bir tablo adları ve sütun adlarının DB2'den sağlar:

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

Aşağıdaki tablo IBM DB2'ı çalıştıran bir abonelik için bir veri çoğaltıldığında, kullanılan veri türü eşlemeler 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 VERİ 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

n/a

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 VERİ varchar(0)1

varchar(max)

varchar(0)1

xml

varchar(0)1

1 VARCHAR(0) eşlemelere hakkında daha fazla bilgi için bir sonraki bölümüne bakın.

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

DB2 aboneleri için çoğaltma yapılırken, aşağıdaki veri türü eşleştirme konularını göz önünde bulundurun:

  • When mapping SQL Serverchar, 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 sınırlama satır boyutu üst sınırı için yeterince olduğu sürece bu başarıyla Abone tarafında oluşturulması oluşturulan bir tablo sağlar.DB2 veritabanına erişmek için kullanılan oturum açma tablosu boşluk yeterli boyutta DB2 için çoğaltılmasını tablolar için erişim izinleri olduğundan emin olun.

  • DB2 VARCHAR sütunu 32 kilobayttır (KB) büyük destekleyebilir; bu nedenle, bu bazı mümkündür SQL Server Büyük nesne sütunları, DB2 VARCHAR sütunu için uygun şekilde eşlenebilir. Ancak, OLE DB sağlayıcı çoğaltma kullanır DB2 eşleme destek için SQL Server DB2 büyük nesneler için büyük nesneler. For this reason, SQL Servertext, varchar(max), ntext, and nvarchar(max) columns are mapped to VARCHAR(0) in the generated create scripts.Uzunluk değeri 0'ın uygun bir değer için komut dosyası için abone uygulamadan önce değiştirilmesi gerekir.DB2 (başka bir değer veri türü uzunluğu değiştirilirse) hata 604 yükseltmenizi tablo oluşturduğunuzda, Abone tarafında DB2 denenir (hata 604 duyarlık ya da öznitelik bir veri türü geçersiz olduğunu gösterir).

    Eşlemek uygun olup olmadığını belirlemek çoğaltılıyor, kaynak tablo bilginizi alarak, bir SQL Server büyük bir değişken uzunluklu DB2 öğesine nesne ve özel oluşturma komut dosyasında uygun bir maksimum uzunluğu belirtin. Özel oluşturma komut belirtme hakkında daha fazla bilgi için adım 5'te, bu konudaki "Yapılandırma bir IBM DB2 abone" bölümüne bakın.

    Not

    Belirtilen uzunluk DB2 türünün diğer sütun uzunluğu ile birleştirildiğinde, temel tablo verileri atandığı DB2 tablo alanı en büyük satır boyutunu aşamaz.

    Büyük nesne bir sütun için uygun hiçbir eşleşme varsa, sütun, böylece sütunun değil çoğaltılacağı makale üzerinde süzme işlemi kullanabilirsiniz.Daha fazla bilgi için bkz: Süzme veri yayımlandı..

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

    In some DB2 environments, a SQL Serverchar 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 içinde kaydırma and dışarı kaydır karakter, gerekiyorsa.Tablolarla çoğaltıyorsanız nchar ve nvarchar sütunlar, daha büyük bir en fazla uzunluğu veri türü için bir özel oluşturma komut dosyası belirtmek gerekebilir. Özel oluşturma komut belirtme hakkında daha fazla bilgi için adım 5'te, bu konudaki "Yapılandırma bir IBM DB2 abone" bölümüne bakın.

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Clarified the procedure for obtaining the Microsoft OLE DB Provider for DB2 from the Microsoft SQL Server 2008 Feature Pack Web page.

Yeni eklenen SQL Server 2008 veri türleri.