Bagikan melalui


Pelanggan IBM DB2

Berlaku untuk: SQL Server

SQL Server mendukung langganan push ke IBM DB2/AS 400, DB2/MVS, dan DB2/Universal Database melalui penyedia OLE DB yang disertakan dengan Microsoft Host Integration Server.

Mengonfigurasi Pelanggan IBM DB2

Untuk mengonfigurasi Pelanggan IBM DB2, ikuti langkah-langkah berikut:

  1. Instal versi terbaru Microsoft OLE DB Provider untuk DB2 di Distributor:

    • Jika Anda menggunakan SQL Server Enterprise Edition, pada halaman Web Unduhan SQL Server, di bagian Unduhan Terkait, klik tautan ke versi terbaru Paket Fitur Microsoft SQL Server. Pada halaman Web Paket Fitur Microsoft SQL Server, cari Microsoft OLE DB Provider untuk DB2.

    • Jika Anda menggunakan SQL Server Standard Edition, instal versi terbaru server Microsoft Host Integration Services (HIS), yang mencakup penyedia.

    Selain menginstal penyedia, kami sarankan Anda menginstal Alat Akses Data, yang digunakan pada langkah berikutnya (diinstal secara default dengan unduhan untuk SQL Server Enterprise Edition. Untuk informasi selengkapnya tentang menginstal dan menggunakan Alat Akses Data, lihat dokumentasi penyedia atau dokumentasi HIS.

  2. Buat string koneksi untuk Pelanggan. string koneksi dapat dibuat di editor teks apa pun, tetapi kami sarankan Anda menggunakan Alat Akses Data. Untuk membuat string di Alat Akses Data:

    1. Klik Mulai, Program, Microsoft OLE DB Provider untuk DB2, lalu Alat Akses Data.

    2. Di Alat Akses Data, ikuti langkah-langkah untuk memberikan informasi tentang server DB2. Ketika Anda menyelesaikan alat ini, tautan data universal (UDL) dibuat dengan string koneksi terkait (UDL sebenarnya tidak digunakan oleh replikasi, tetapi string koneksi adalah).

    3. Akses string koneksi: klik kanan UDL di Alat Akses Data dan pilih Tampilkan String Koneksi.

    string koneksi akan mirip dengan (hentian baris untuk keterbacaan):

    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;  
    

    Sebagian besar opsi dalam string khusus untuk server DB2 yang Anda konfigurasi, tetapi Process Binary as Character opsi dan Derive Parameters harus selalu diatur ke False. Nilai diperlukan untuk Initial Catalog opsi untuk mengidentifikasi database langganan. string koneksi akan dimasukkan di Wizard Langganan Baru saat Anda membuat langganan.

  3. Buat rekam jepret atau publikasi transaksi, aktifkan untuk Pelanggan non-SQL Server, lalu buat langganan push untuk Pelanggan. Untuk informasi selengkapnya, lihat Membuat Langganan untuk Pelanggan Non-SQL Server.

  4. Secara opsional, tentukan skrip pembuatan kustom untuk satu atau beberapa artikel. Saat tabel diterbitkan, CREATE TABLE skrip dibuat untuk tabel tersebut. Untuk Pelanggan non-SQL Server, skrip dibuat dalam dialek Transact-SQL, dan kemudian diterjemahkan ke dialek SQL yang lebih umum oleh Agen Distribusi sebelum diterapkan di Pelanggan. Untuk menentukan skrip pembuatan kustom, ubah skrip Transact-SQL yang ada atau buat skrip lengkap yang menggunakan dialek DB2 SQL; jika skrip DB2 dibuat, gunakan arahan bypass_translation sehingga Agen Distribusi akan menerapkan skrip di Pelanggan tanpa terjemahan.

    Skrip dapat dimodifikasi karena sejumlah alasan, tetapi alasan paling umum adalah mengubah pemetaan jenis data. Untuk informasi selengkapnya, lihat bagian "Pertimbangan Pemetaan Jenis Data" dalam topik ini. Jika Anda mengubah skrip Transact-SQL, perubahan harus dibatasi pada perubahan pemetaan jenis data (dan skrip tidak boleh berisi komentar apa pun). Jika diperlukan perubahan yang lebih substansial, buat skrip DB2.

    Untuk mengubah skrip artikel dan menyediakannya sebagai skrip pembuatan kustom

    1. Setelah rekam jepret dibuat untuk publikasi, navigasikan ke folder rekam jepret untuk publikasi.

    2. .sch Temukan file dengan nama yang sama dengan artikel, seperti MyArticle.sch.

    3. Buka file ini menggunakan Notepad atau editor teks lainnya.

    4. Ubah file dan simpan ke direktori lain.

    5. Jalankan sp_changearticle, menentukan jalur file dan nama untuk properti creation_script . Untuk informasi selengkapnya, lihat sp_changearticle (Transact-SQL).

    Untuk membuat skrip artikel dan menyediakannya sebagai skrip pembuatan kustom

    1. Buat skrip artikel menggunakan dialek DB2 SQL. Pastikan baris pertama file bypass_translation, tanpa yang lain di baris.

    2. Jalankan sp_changearticle, menentukan jalur dan nama file untuk properti creation_script .

Pertimbangan untuk Pelanggan IBM DB2

Selain pertimbangan yang tercakup dalam topik Pelanggan Non-SQL Server, pertimbangkan masalah berikut saat mereplikasi ke Pelanggan DB2:

  • Data dan indeks untuk setiap tabel yang direplikasi ditetapkan ke ruang tabel DB2. Ukuran halaman ruang tabel DB2 mengontrol jumlah kolom maksimum dan ukuran baris maksimum tabel milik ruang tabel. Pastikan bahwa ruang tabel yang terkait dengan tabel yang direplikasi sesuai berdasarkan jumlah kolom yang direplikasi dan ukuran baris maksimum tabel.

  • Jangan terbitkan tabel ke Pelanggan DB2 menggunakan replikasi transaksional jika satu atau beberapa kolom kunci utama dalam tabel berjenis data DECIMAL(32-38, 0-38) atau NUMERIC(32-38, 0-38). Replikasi transaksional mengidentifikasi baris menggunakan kunci utama; ini dapat mengakibatkan kegagalan karena jenis data ini dipetakan ke VARCHAR(41) di Pelanggan. Tabel dengan kunci primer yang menggunakan jenis data ini dapat diterbitkan menggunakan replikasi rekam jepret.

  • Jika Anda ingin membuat tabel pra-buat di Pelanggan, daripada membuat replikasi, gunakan opsi hanya dukungan replikasi. Untuk informasi selengkapnya, lihat Menginisialisasi Langganan Transaksi tanpa Rekam Jepret.

  • SQL Server memungkinkan nama tabel dan nama kolom yang lebih panjang daripada DB2:

    • Jika database publikasi menyertakan tabel dengan nama yang lebih panjang dari yang didukung pada versi DB2 di Pelanggan, tentukan nama alternatif untuk properti artikel destination_table. Untuk informasi selengkapnya tentang mengatur properti saat membuat publikasi, lihat Membuat Publikasi dan Menentukan Artikel.

    • Tidak dimungkinkan untuk menentukan nama kolom alternatif. Anda harus memastikan bahwa tabel yang diterbitkan tidak menyertakan nama kolom lebih panjang dari yang didukung pada versi DB2 di Pelanggan.

Memetakan Jenis Data dari SQL Server ke IBM DB2

Tabel berikut ini memperlihatkan pemetaan jenis data yang digunakan saat data direplikasi ke Pelanggan yang menjalankan IBM DB2.

Tipe data SQL Server Jenis data IBM DB2
bigint DECIMAL(19,0)
biner(1-254) CHAR(1-254) UNTUK DATA BIT
biner(255-8000) VARCHAR(255-8000) UNTUK DATA BIT
bit SMALLINT
karakter(1-254) CHAR(1-254)
karakter(255-8000) VARCHAR(255-8000)
date TANGGAL
datetime TANDA WAKTU
datetime2(0-7) VARCHAR(27)
datetimeoffset(0-7) VARCHAR(34)
desimal(1-31, 0-31) DESIMAL(1-31, 0-31)
desimal(32-38, 0-38) VARCHAR(41)
float(53) DOUBLE
float FLOAT
geografi GAMBAR
geometri GAMBAR
hierarchyid GAMBAR
gambar VARCHAR(0) UNTUK DATA BIT*
into INT
uang DECIMAL(19,4)
nchar(1-4000) VARCHAR(1-4000)
ntext VARCHAR(0)*
numerik(1-31, 0-31) DECIMAL(1-31,0-31)
numerik(32-38, 0-38) VARCHAR(41)
nvarchar(1-4000) VARCHAR(1-4000)
nvarchar(maks) VARCHAR(0)*
real REAL
smalldatetime TANDA WAKTU
smallint SMALLINT
smallmoney DESIMAL(10,4)
aql_variant T/A
nama sysname VARCHAR(128)
text VARCHAR(0)*
time(0-7) VARCHAR(16)
timestamp CHAR(8) UNTUK DATA BIT
kecil SMALLINT
pengidentifikasi unik CHAR(38)
varbinary(1-8000) VARCHAR(1-8000) UNTUK DATA BIT
varchar(1-8000) VARCHAR(1-8000)
varbinary(max) VARCHAR(0) UNTUK DATA BIT*
varchar(max) VARCHAR(0)*
xml VARCHAR(0)*
  • Lihat bagian berikutnya untuk informasi selengkapnya tentang pemetaan ke VARCHAR(0).

Pertimbangan Pemetaan Jenis Data

Pertimbangkan masalah pemetaan jenis data berikut saat mereplikasi ke Pelanggan DB2:

  • Saat memetakan karakter SQL Server, varchar, biner dan varbinary ke DB2 CHAR, VARCHAR, CHAR FOR BIT DATA, dan VARCHAR FOR BIT DATA, masing-masing, replikasi mengatur panjang jenis data DB2 agar sama dengan jenis SQL Server.

    Ini memungkinkan tabel yang dihasilkan berhasil dibuat di Pelanggan, selama batasan ukuran halaman DB2 cukup besar untuk mengakomodasi ukuran maksimum baris. Pastikan bahwa login yang digunakan untuk mengakses database DB2 memiliki izin untuk mengakses ruang tabel dengan ukuran yang cukup untuk tabel yang direplikasi ke DB2.

  • DB2 dapat mendukung kolom VARCHAR sebesar 32 kilobyte (KB); oleh karena itu ada kemungkinan bahwa beberapa kolom objek besar SQL Server dapat dipetakan dengan tepat ke kolom VARCHAR DB2. Namun, penyedia OLE DB yang digunakan replikasi untuk DB2 tidak mendukung pemetaan objek besar SQL Server ke objek besar DB2. Untuk alasan ini, teks SQL Server, varchar(max), ntext, dan kolom nvarchar(maks) dipetakan ke VARCHAR(0) dalam skrip buat yang dihasilkan. Nilai panjang 0 harus diubah ke nilai yang sesuai sebelum menerapkan skrip ke Pelanggan. Jika panjang jenis data tidak diubah, DB2 akan memunculkan kesalahan 604 ketika pembuatan tabel dicoba di Pelanggan DB2 (kesalahan 604 menunjukkan bahwa atribut presisi atau panjang jenis data tidak valid).

    Berdasarkan pengetahuan Anda tentang tabel sumber yang Anda replikasi, tentukan apakah sesuai untuk memetakan objek besar SQL Server ke item DB2 panjang variabel, dan tentukan panjang maksimum yang sesuai dalam skrip pembuatan kustom. Untuk informasi tentang menentukan skrip pembuatan kustom, lihat langkah 5 di bagian "Mengonfigurasi Pelanggan IBM DB2" dalam topik ini.

    Catatan

    Panjang yang ditentukan untuk jenis DB2, ketika dikombinasikan dengan panjang kolom lainnya, tidak boleh melebihi ukuran baris maksimum berdasarkan ruang tabel DB2 tempat data tabel ditetapkan.

    Jika tidak ada pemetaan yang sesuai untuk kolom objek besar, pertimbangkan untuk menggunakan pemfilteran kolom pada artikel sehingga kolom tidak direplikasi. Untuk informasi selengkapnya, lihat Memfilter Data yang Diterbitkan.

  • Saat mereplikasi nchar SQL Server dan nvarchar ke DB2 CHAR dan VARCHAR, replikasi menggunakan penentu panjang yang sama untuk jenis DB2 seperti untuk jenis SQL Server. Namun, panjang jenis data mungkin terlalu kecil untuk tabel DB2 yang dihasilkan.

    Di beberapa lingkungan DB2, item data karakter SQL Server tidak dibatasi untuk karakter byte tunggal; panjang item CHAR atau VARCHAR harus memperhitungkan hal ini. Anda juga harus memperhitungkan pergeseran masuk dan menggeser karakter jika diperlukan. Jika Anda mereplikasi tabel dengan kolom nchar dan nvarchar , Anda mungkin perlu menentukan panjang maksimum yang lebih besar untuk jenis data dalam skrip pembuatan kustom. Untuk informasi tentang menentukan skrip pembuatan kustom, lihat langkah 5 di bagian "Mengonfigurasi Pelanggan IBM DB2" dalam topik ini.

Lihat Juga

Pelanggan Non-SQL Server
Berlangganan Publikasi