Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Az SQL Server támogatja az IBM Db2/AS 400, DB2/MVS és DB2/Universal Database leküldéses előfizetéseit a Microsoft Gazdagép-integrációs kiszolgálóhoz tartozó OLE DB-szolgáltatókon keresztül.
IBM Db2-előfizető konfigurálása
Ibm Db2-előfizető konfigurálásához kövesse az alábbi lépéseket:
Telepítse a Microsoft OLE DB Provider for DB2 legújabb verzióját a forgalmazóra:
Ha SQL Server Enterprise Editiont használ, az SQL Server Letöltések weblap kapcsolódó letöltések szakaszában kattintson a Microsoft SQL Server szolgáltatáscsomag legújabb verziójára mutató hivatkozásra. A Microsoft SQL Server feature Pack webhelyén keresse meg a Db2-hez készült Microsoft OLE DB-szolgáltatót.
Ha SQL Server Standard Edition kiadást használ, telepítse a Microsoft Host Integration Services (HIS) kiszolgáló legújabb verzióját, amely tartalmazza a szolgáltatót.
A szolgáltató telepítése mellett javasoljuk, hogy telepítse az adatelérési eszközt, amelyet a következő lépésben használ (alapértelmezés szerint az SQL Server Enterprise Edition letöltésével van telepítve). Az adatelérési eszköz telepítésével és használatával kapcsolatos további információkért tekintse meg a szolgáltató dokumentációját vagy a HIS dokumentációját.
Hozzon létre egy kapcsolati sztringet az előfizető számára. A kapcsolati sztring bármely szövegszerkesztőben létrehozható, de javasoljuk, hogy használja az Adatelérési eszközt. A sztring létrehozása az Adatelérési eszközben:
Kattintson a Start, a Programok, a Microsoft OLE DB Provider for DB2, majd az Adatelérési eszköz elemre.
Az Adatelérési eszközben kövesse a lépéseket a DB2-kiszolgálóval kapcsolatos információk megadásához. Az eszköz befejezésekor egy univerzális adatkapcsolat (UDL) jön létre egy társított kapcsolati sztringgel (az UDL-t valójában nem használja a replikáció, de a kapcsolati sztringet igen).
Nyissa meg a kapcsolati sztringet: kattintson a jobb gombbal az UDL-ra az Adatelérési eszközben, és válassza a Kapcsolati sztring megjelenítése lehetőséget.
A kapcsolati sztring hasonló lesz (a sortörések az olvashatósághoz szükségesek):
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;Derive Parameters=False;Units of Work=RUW;DBMS Platform=DB2/NT; Persist Security Info=False;Connection Pooling=True;A sztring legtöbb opciója a konfigurálandó DB2-kiszolgálóra vonatkozik, de a
Process Binary as CharacterésDerive Parametersopciókat mindigFalsekell állítani. Az előfizetésiInitial Catalogadatbázis azonosításához értékre van szükség. Az előfizetés létrehozásakor a kapcsolati sztring be lesz írva az Új előfizetés varázslóba.Pillanatképet vagy tranzakciós kiadványt hozhat létre, engedélyezheti a nem SQL Server-előfizetők számára, majd létrehozhat egy leküldéses előfizetést az előfizető számára. További információ: Előfizetés létrehozása nem SQL Server-előfizető számára.
Igény szerint adjon meg egy egyéni létrehozási szkriptet egy vagy több cikkhez. Egy tábla közzétételekor létrejön egy
CREATE TABLEszkript az adott táblához. A nem SQL Server-előfizetők esetében a szkript a Transact-SQL dialektusban jön létre, és a terjesztési ügynök lefordítja egy általánosabb SQL-dialektusra, mielőtt az előfizetőnél alkalmazva lenne. Egyéni létrehozási szkript megadásához módosítsa a meglévő Transact-SQL szkriptet, vagy hozzon létre egy teljes szkriptet, amely a DB2 SQL-dialektust használja; DB2-szkript létrehozásakor használja a bypass_translation direktívát, hogy a terjesztési ügynök fordítás nélkül alkalmazza a szkriptet az Előfizetőnél.A szkriptek számos okból módosíthatók, de a leggyakoribb ok az adattípus-leképezések módosítása. További információt a jelen témakör "Adattípus-leképezési szempontok" című szakaszában talál. Ha módosítja a Transact-SQL szkriptet, a módosításokat az adattípus-megfeleltetési módosításokra kell korlátozni (és a szkript nem tartalmazhat megjegyzéseket). Ha lényegesebb módosításokra van szükség, hozzon létre egy DB2-szkriptet.
Cikkszkript módosítása és egyéni létrehozási szkriptként való megadása
Miután létrehozta a kiadvány pillanatképét, keresse meg a kiadvány pillanatképmappáját.
Keresse meg a
.schcikkel megegyező nevű fájlt, példáulMyArticle.sch.Nyissa meg ezt a fájlt a Jegyzettömb vagy egy másik szövegszerkesztő használatával.
Módosítsa a fájlt, és mentse egy másik könyvtárba.
Hajtsa végre
sp_changearticle, és adja meg a creation_script tulajdonság fájl elérési útját és nevét. További információ: sp_changearticle (Transact-SQL).
Cikkszkript létrehozása és azt egyéni létrehozási szkriptként átadni
Hozzon létre egy cikkszkriptet a DB2 SQL-dialektussal. Győződjön meg arról, hogy a fájl első sora bypass_translation, és a sorban nincs más.
Hajtsa végre a sp_changearticle, és adja meg a creation_script tulajdonság fájl elérési útját és nevét.
Az IBM Db2 előfizetőinek szempontjai
A nem SQL Server-előfizetők témakörében ismertetett szempontok mellett vegye figyelembe a következő problémákat a DB2-előfizetőknek való replikáláskor:
Az egyes replikált táblák adatai és indexei egy DB2-táblatérhez vannak rendelve. A DB2-táblatér oldalmérete határozza meg az oszlopok maximális számát és a táblatérhez tartozó táblák maximális sorméretét. Győződjön meg arról, hogy a replikált táblákhoz társított táblatér a replikált oszlopok száma és a táblák maximális sormérete alapján megfelelő.
Ne tegye közzé a táblákat a DB2-előfizetők számára tranzakciós replikációval, ha a tábla egy vagy több elsődleges kulcsoszlopa TIZEDES (32-38, 0-38) vagy NUMERIKUS (32-38, 0-38) típusú. A tranzakciós replikáció az elsődleges kulccsal azonosítja a sorokat; ez hibákhoz vezethet, mert ezek az adattípusok VARCHAR(41) értékre vannak leképezve az Előfizetőnél. Az ilyen adattípusokat használó elsődleges kulcsokkal rendelkező táblák pillanatkép-replikációval tehetők közzé.
Ha előre szeretne létrehozni táblákat az Előfizetőnél, ahelyett, hogy a replikáció hozná létre azokat, használja a kizárólag replikációs támogatás lehetőséget. További információ: Tranzakciós előfizetés inicializálása pillanatkép nélkül.
Az SQL Server a DB2-nél hosszabb táblaneveket és oszlopneveket tesz lehetővé:
Ha a közzétételi adatbázis olyan táblákat tartalmaz, amelyek a DB2-verzióban támogatottaknál hosszabb neveket tartalmaznak az Előfizetőnél, adjon meg egy másik nevet a destination_table cikktulajdonságnak. A kiadvány létrehozásakor a tulajdonságok beállításáról további információt a Kiadvány létrehozása és a Cikk definiálása című témakörben talál.
Alternatív oszlopneveket nem lehet megadni. Gondoskodnia kell arról, hogy a közzétett táblák ne tartalmazzanak hosszabb oszlopneveket, mint az előfizetőnél a DB2-verzióban támogatottak.
Adattípusok leképezése SQL Serverről IBM Db2-be
Az alábbi táblázat azokat az adattípus-leképezéseket mutatja be, amelyeket az adatok IBM Db2-t futtató előfizetőre történő replikálásakor használnak.
| SQL Server-adattípus | IBM Db2 adattípus |
|---|---|
| bigint | DECIMAL(19,0) |
| bináris(1-254) | KARAKTER(1–254) BITADATOKHOZ |
| bináris(255-8000) | VARCHAR(255-8000) BINÁRIS ADATOKHOZ |
| bit | SMALLINT |
| char(1-254) | CHAR(1-254) |
| char(255-8000) | VARCHAR(255-8000) |
| date | DATE |
| datetime | TIMESTAMP |
| datetime2(0-7) | VARCHAR(27) |
| datetimeoffset(0-7) | VARCHAR(34) |
| decimális(1-31, 0-31) | DECIMAL(1-31, 0-31) |
| decimális(32-38, 0-38) | VARCHAR(41) |
| float(53) | DUPLA |
| float | FLOAT |
| geography | KÉP |
| geometry | KÉP |
| hierarchyid | KÉP |
| image | VARCHAR(0) BITADATOKHOZ* |
| be | INT |
| pénz | DECIMAL(19,4) |
| nchar(1-4000) | VARCHAR(1-4000) |
| kontextus | VARCHAR(0)* |
| numerikus(1-31, 0-31) | DECIMALIS(1-31,0-31) |
| numerikus(32-38, 0-38) | VARCHAR(41) |
| nvarchar(1-4000) | VARCHAR(1-4000) |
| nvarchar(max) | VARCHAR(0)* |
| valódi | VALÓDI |
| smalldatetime | TIMESTAMP |
| smallint | SMALLINT |
| smallmoney | DECIMÁLIS(10,4) |
| sql_variant | N/A |
| sysname | VARCHAR(128) |
| text | VARCHAR(0)* |
| time(0-7) | VARCHAR(16) |
| időbélyeg | CHAR(8) BIT ADAT számára |
| tinyint | SMALLINT |
| uniqueidentifier | CHAR(38) |
| varbinary(1-8000) | VARCHAR(1-8000) BIT ADATOK SZÁMÁRA |
| varchar(1-8000) | VARCHAR(1-8000) |
| varbinary(max) | VARCHAR(0) BITADATOKHOZ* |
| varchar(max) | VARCHAR(0)* |
| xml | VARCHAR(0)* |
- A VARCHAR(0) leképezésével kapcsolatos további információkért tekintse meg a következő szakaszt.
Adattípus-leképezési szempontok
Fontolja meg az alábbi adattípus-leképezési problémákat a DB2-előfizetőknek való replikáláskor:
Az SQL Server char, varchar, binary és varbinary DB2 CHAR, VARCHAR, CHAR FOR BIT DATA és VARCHAR FOR BIT DATA típusra való leképezésekor a replikáció a DB2 adattípus hosszát az SQL Server típusával megegyezőre állítja.
Ez lehetővé teszi a létrehozott tábla sikeres létrehozását az Előfizetőnél, feltéve, hogy a DB2 oldalméret-korlátozás elég nagy a sor maximális méretének kielégítéséhez. Győződjön meg arról, hogy a DB2-adatbázis eléréséhez használt bejelentkezés rendelkezik a db2-be replikált táblákhoz megfelelő méretű táblaterek eléréséhez szükséges engedélyekkel.
A DB2 32 kilobájtos (KB) méretű VARCHAR-oszlopokat támogat; Ezért lehetséges, hogy egyes SQL Server-nagyméretű objektumoszlopok megfelelően leképezhetők a DB2 VARCHAR-oszlopokra. A DB2-hez replikált OLE DB-szolgáltató azonban nem támogatja a nagyméretű SQL Server-objektumok DB2-objektumokra való leképezését. Emiatt az SQL Server-szöveg, a varchar(max), az ntext és az nvarchar(max) oszlopok VARCHAR(0) értékre vannak leképezve a létrehozott létrehozási szkriptekben. A 0 hosszértéket módosítani kell egy megfelelő értékre, mielőtt a szkriptet az Előfizetőre alkalmazták. Ha az adattípus hossza nem változik, a DB2 604-es hibát jelez, amikor a tábla létrehozása a DB2-előfizetőnél történik (a 604-es hiba azt jelzi, hogy egy adattípus pontossági vagy hosszattribútuma érvénytelen).
A replikálni kívánt forrástábla ismerete alapján állapítsa meg, hogy megfelelő-e egy nagy SQL Server-objektumot egy változó hosszúságú DB2-elemhez képezni, és meg kell adni egy megfelelő maximális hosszt egy egyéni létrehozási szkriptben. Az egyéni létrehozási szkriptek megadásáról a jelen témakör "IBM DB2-előfizető konfigurálása" című szakaszának 5. lépésében olvashat bővebben.
Megjegyzés:
A DB2 típus megadott hossza más oszlophosszokkal kombinálva nem haladhatja meg a maximális sorméretet azon DB2 táblaterület alapján, amelyhez a táblaadatok hozzá vannak rendelve.
Ha nincs megfelelő leképezés egy nagy objektumoszlophoz, fontolja meg az oszlopszűrés használatát a cikkben, hogy az oszlop ne legyen replikálva. További információ: Közzétett adatok szűrése.
Az SQL Server nchar és az nvarchar DB2 CHAR-ra és VARCHAR-ra való replikálásakor a replikáció ugyanazt a hossz-megadót használja a DB2 típushoz, mint az SQL Server-típushoz. Az adattípus hossza azonban túl kicsi lehet a létrehozott DB2-tábla esetében.
Egyes DB2-környezetekben az SQL Server karakteres adatelemei nem korlátozódnak az egy bájtos karakterekre; a CHAR vagy VARCHAR elem hosszát figyelembe kell venni. Szükség esetén figyelembe kell venni a shift in és a shift out karaktereket is. Ha nchar és nvarchar oszlopokat tartalmazó táblákat replikál, előfordulhat, hogy nagyobb maximális hosszt kell megadnia az adattípushoz egy egyéni létrehozási szkriptben. Az egyéni létrehozási szkriptek megadásáról a jelen témakör "IBM DB2-előfizető konfigurálása" című szakaszának 5. lépésében olvashat bővebben.