Saya memiliki masalah serupa di masa lalu. Kemudian saya sampai pada kesimpulan bahwa pada dasarnya tautan db Oracle "rusak" untuk apa pun kecuali tipe SQL sederhana (terutama UDT, CLOBS mungkin memiliki masalah, XMLType mungkin juga). Jika Anda bisa mendapatkan solusi OID yang bekerja maka semoga sukses untuk Anda.
Solusi yang saya gunakan adalah menggunakan prosedur Java Stored, alih-alih Tautan DB.
Karakteristik Prosedur Tersimpan Java:
- Dapat mengembalikan "kumpulan tipe yang kaya", hampir semua tipe kompleks (UDT, tabel/array/varrays) lihat Dokumentasi online Oracle untuk rincian. Oracle melakukan pekerjaan yang jauh lebih baik dalam menyusun tipe kompleks (atau kaya) dari java, daripada dari DBLink.
- Java yang disimpan dapat memperoleh "koneksi default" (berjalan dalam sesi yang sama dengan koneksi SQL ke db - tidak ada masalah autentikasi).
- Java yang tersimpan memanggil proc PL/SQL pada DB jarak jauh, dan lapisan Java JDBC melakukan marshaling dari DB jarak jauh.
- Java yang tersimpan mengemas hasil dan mengembalikan hasilnya ke lapisan SQL atau PL/SQL.
Ini sedikit pekerjaan, tetapi jika Anda memiliki sedikit java, Anda harus dapat "memotong dan menempelkan" solusi bersama-sama dari dokumentasi dan sampel Oracle.
Saya harap ini membantu.