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:
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.
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ç:
' I tıklatın Başlangıç, Programları, DB2 için Microsoft OLE DB sağlayıcı, and then Veri erişim araç.
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).
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.
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:
SQL Server Management Studio: Nasıl Yapılır: Olmayan SQL Server abone (SQL Server Management Studio'yu) için bir abonelik oluşturun
Çoğaltma Transact-SQL programlama: Nasıl Yapılır: Olmayan SQL Server abone (çoğaltma Transact-SQL programlama) için bir abonelik oluşturun
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
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.
makale MyArticle.sch gibi aynı adı taşıyan .sch dosyasını bulun.
Bu dosyayı Not Defteri'nde veya başka bir metin düzenleyicisini kullanarak açın.
Dosyayı değiştirmek ve farklı bir dizine kaydedin.
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
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.
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:
yayın veritabanı üzerinde DB2 desteklenen daha uzun bir tablo içeriyorsa sürüm Abone tarafında destination_table makale özellik için bir diğer ad belirtin.Yayın oluştururken özellikleri ayarlama hakkında daha fazla bilgi için bkz: Nasıl Yapılır: Bir yayın oluşturun ve makale (SQL Server Management Studio'yu) tanımla ve Nasıl Yapılır: Bir makale (çoğaltma Transact-SQL programlama) tanımlayın..
Alternatif bir sütun adlarını belirtmek, mümkün değildir.Yayımlanmış tabloları abone adresindeki DB2 sürümünde desteklenen daha uzun olan sütun adları dahil olduğundan emin olun.
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. |