Pemetaan Tipe Data untuk Penerbit Oracle
Berlaku untuk: SQL Server
Jenis data Oracle dan jenis data Microsoft SQL Server tidak selalu sama persis. Jika memungkinkan, jenis data yang cocok dipilih secara otomatis saat menerbitkan tabel Oracle. Jika pemetaan jenis data tunggal tidak jelas, pemetaan jenis data alternatif disediakan. Untuk informasi tentang cara memilih pemetaan alternatif, lihat bagian "Menentukan Pemetaan Jenis Data Alternatif" nanti dalam topik ini.
Tabel berikut ini memperlihatkan bagaimana tipe data dipetakan secara default antara Oracle dan SQL Server saat data dipindahkan dari Oracle Publisher ke Distributor SQL Server. Kolom Alternatif menunjukkan apakah pemetaan alternatif tersedia.
Jenis data Oracle | Tipe data SQL Server | Alternatif |
---|---|---|
BFILE | VARBINARY(MAX) | Ya |
BLOB | VARBINARY(MAX) | Ya |
CHAR([1-2000]) | CHAR([1-2000]) | Ya |
CLOB | VARCHAR(MAX) | Ya |
TANGGAL | DATETIME | Ya |
FLOAT | FLOAT | No |
FLOAT([1-53]) | FLOAT([1-53]) | No |
FLOAT([54-126]) | FLOAT | No |
INT | NUMERIC(38) | Ya |
INTERVAL | DATETIME | Ya |
LONG | VARCHAR(MAX) | Ya |
RAW PANJANG | GAMBAR | Ya |
NCHAR([1-1000]) | NCHAR([1-1000]) | No |
NCLOB | NVARCHAR(MAX) | Ya |
NUMBER | FLOAT | Ya |
NUMBER([1-38]) | NUMERIC([1-38]) | No |
NUMBER([0-38],[1-38]) | NUMERIC([0-38],[1-38]) | Ya |
NVARCHAR2([1-2000]) | NVARCHAR([1-2000]) | No |
RAW([1-2000]) | VARBINARY([1-2000]) | No |
REAL | FLOAT | No |
ROWID | CHAR(18) | No |
TANDA WAKTU | DATETIME | Ya |
TANDA WAKTU(0-7) | DATETIME | Ya |
TANDA WAKTU(8-9) | DATETIME | Ya |
TANDA WAKTU(0-7) DENGAN ZONA WAKTU | VARCHAR(37) | Ya |
TANDA WAKTU(8-9) DENGAN ZONA WAKTU | VARCHAR(37) | No |
TANDA WAKTU(0-7) DENGAN ZONA WAKTU LOKAL | VARCHAR(37) | Ya |
TANDA WAKTU(8-9) DENGAN ZONA WAKTU LOKAL | VARCHAR(37) | No |
UROWID | CHAR(18) | No |
VARCHAR2([1-4000]) | VARCHAR([1-4000]) | Ya |
Pertimbangan untuk Pemetaan Jenis Data
Ingatlah masalah jenis data berikut saat mereplikasi data dari database Oracle.
Tipe Data yang Tidak Didukung
Jenis data berikut tidak didukung; kolom yang memiliki tipe ini tidak dapat direplikasi:
Jenis objek
Jenis XML
Varrays
Tabel bersarang
Kolom yang menggunakan REF
Tipe Data DATE
Tanggal di SQL Server berkisar dari 1753 A.D. hingga 9999 A.D., sedangkan tanggal di Oracle berkisar dari 4712 SM hingga 4712 A.D. Jika kolom jenis DATE berisi nilai yang berada di luar rentang untuk SQL Server, pilih jenis data alternatif untuk kolom, yaitu VARCHAR(19).
Jenis FLOAT dan ANGKA
Skala dan presisi yang ditentukan selama pemetaan jenis data FLOAT dan NUMBER tergantung pada skala dan presisi yang ditentukan untuk kolom menggunakan jenis data dalam database Oracle. Presisi adalah jumlah digit dalam angka. Skala adalah jumlah digit di sebelah kanan titik desimal dalam angka. Misalnya, angka 123,45 memiliki presisi 5 dan skala 2.
Oracle memungkinkan angka didefinisikan dengan skala yang lebih besar dari presisi, seperti NUMBER(4,5), tetapi SQL Server memerlukan presisi untuk sama dengan atau lebih besar dari skala. Untuk memastikan tidak ada pemotongan data, jika skala lebih besar dari presisi di Oracle Publisher, presisi diatur sama dengan skala ketika jenis data dipetakan: NUMBER(4,5) akan dipetakan sebagai NUMERIC(5,5).
Catatan
Jika Anda tidak menentukan skala dan presisi untuk NUMBER, SQL Server default menggunakan skala maksimum (8) dan presisi (38). Kami menyarankan agar Anda mengatur skala dan presisi tertentu di Oracle untuk penyimpanan dan performa yang lebih baik saat data direplikasi.
Tipe Objek Besar
Oracle mendukung hingga 4 gigabyte (GB), sedangkan SQL Server mendukung hingga 2 GB. Data yang direplikasi di atas 2 GB dipotong.
Jika tabel Oracle menyertakan kolom BFILE, data untuk kolom disimpan dalam sistem file. Akun pengguna administratif replikasi harus diberikan akses ke direktori tempat data disimpan menggunakan sintaks berikut:
GRANT READ ON DIRECTORY <directory_name> TO <replication_administrative_user_schema>
Untuk informasi selengkapnya tentang jenis objek besar, lihat bagian "Pertimbangan untuk Objek Besar" dalam Pertimbangan dan Batasan Desain untuk Penerbit Oracle.
Menentukan Pemetaan Tipe Data Alternatif
Biasanya, pemetaan jenis data default sesuai, tetapi untuk banyak jenis data Oracle, Anda dapat memilih pemetaan jenis data dari sekumpulan pemetaan alternatif, daripada menggunakan default. Ada dua cara untuk menentukan pemetaan alternatif:
Ambil alih default berdasarkan per artikel menggunakan prosedur tersimpan atau Wizard Publikasi Baru.
Mengubah default secara global untuk semua artikel mendatang menggunakan prosedur tersimpan (default tidak diubah untuk artikel yang ada).
Untuk menentukan pemetaan tipe data alternatif, lihat Menentukan Pemetaan Tipe Data untuk Penerbit Oracle.
Lihat Juga
Mengonfigurasi Oracle Publisher
Pertimbangan dan Batasan Desain untuk Penerbit Oracle
Gambaran Umum Penerbitan Oracle
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk