Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ORA-29531:tidak ada metode dalam kesalahan kelas

Pertama, pastikan org.apache.commons.codec.language.ColognePhonetic class ada di database (mungkin tidak).

SELECT *
FROM   ALL_OBJECTS
WHERE  OBJECT_TYPE LIKE '%JAVA%'
AND    LOWER( OBJECT_NAME ) LIKE '%colognephonetic%';

Harus mengembalikan baris jika ada (mungkin perlu dijalankan sebagai pengguna istimewa).

Jika tidak ada maka Anda perlu menggunakan loadjava aplikasi untuk memuat pustaka jar yang berisi kelas.

Kemudian tulis pembungkus untuk membuat fungsi statis yang membuat instance kelas (belum diuji ):

CREATE JAVA SOURCE NAMED Phonetics AS
import org.apache.commons.codec.language.ColognePhonetic;

public class Phonetics {
  public static String encode(
    final String text
  ){
    final ColognePhonetic cp = new ColognePhonetic();
    return cp.encode( text );
  }
}
/

CREATE FUNCTION get_phonetic_string(i_string VARCHAR2) RETURN VARCHAR2 AS
  LANGUAGE JAVA NAME 'Phonetics.encode( java.lang.String ) return java.lang.String';



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan SQL untuk menyelesaikan dependensi transitif dalam database

  2. ORA-06550:Kesalahan nomor atau jenis argumen saat memanggil fungsi di dalam paket Oracle di ASP.NET

  3. Mengapa klausa Oracle IN memiliki batas 1000 hanya untuk data statis?

  4. Penanganan pengecualian PL/SQL:tidak melakukan apa pun (abaikan pengecualian)

  5. Folder produk Instalasi Oracle dan folder diag di tempat yang berbeda