Gejala
Saat Anda menjalankan kueri untuk memilih data dari server yang ditautkan dengan Oracle menggunakan penyedia OLE DB di Microsoft SQL Server 2012 atau SQL Server 2014, nilai dalam kolom tipe angka mungkin terpotong dalam hasil kueri.
Penyebab
Masalah ini terjadi karena, tipe nomor Oracle dengan presisi yang tidak dideklarasikan/skala mungkin tidak memiliki pemetaan 1:1 yang jelas ke tipe data SQL Server. Sebelum SQL Server 2012 SP2 CU2, SQL Server memetakan nilai tersebut ke string untuk memastikan bahwa tidak ada kehilangan presisi. Namun, yang dapat mengakibatkan hasil yang salah jika kueri memerlukan pengurutan pada nilai tersebut. Di SQL Server 2012 SP2 CU2, pemetaan diubah menjadi numerik (38,0) untuk memungkinkan representasi kunci bilangan bulat besar yang digunakan oleh beberapa bilangan bulat tanpa presisi/skala untuk. Hal ini menyebabkan kemunduran ketika nilai non-integer diperlukan.
Pemecahan Masalah
Setelah Anda menerapkan perbaikan ini, nilai angka dengan presisi/skala yang tidak diketahui diperlakukan sebagai nilai ganda dengan penyedia OLE DB. Jika presisi penting dan rentang nilai tidak cukup besar, Anda bisa mengaktifkan bendera pelacakan baru 7314 yang akan mulai memperlakukan nilai tersebut sebagai numerik (38, 10).
Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut ini.
Pembaruan kumulatif 1 untuk SQL Server 2014 SP1 /en-us/help/3067839
Pembaruan kumulatif 8 untuk SQL Server 2014 /en-us/help/3067836
Pembaruan kumulatif 6 untuk SQL Server 2012 SP2 /en-us/help/3052468
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Penyelesaian Masalah
Untuk mengatasi masalah ini, konversi bidang Oracle dari tipe BILANGAN ke tipe data yang didukung penuh oleh SQL Server terlebih dahulu.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Produk pihak ketiga yang dibahas dalam artikel ini dibuat oleh perusahaan independen dan terpisah dari Microsoft. Microsoft tidak memberikan garansi, secara tersirat atau dalam bentuk apa pun, terkait kinerja atau keandalan produk ini.