sql >> データベース >  >> RDS >> Oracle

ORA-29531:クラスにメソッドがありませんエラー

    まず、org.apache.commons.codec.language.ColognePhonetic を確認します。 クラスはデータベースにあります (おそらくないでしょう)。

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

    存在する場合は行を返す必要があります (特権ユーザーとして実行する必要がある場合があります)。

    存在しない場合は、loadjava を使用する必要があります。 クラスを含む jar ライブラリをロードするアプリケーション。

    次に、ラッパーを作成して、クラスのインスタンスを作成する静的関数を作成します (未テスト ):

    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. SQLServerを使用してvarchar列で非ASCII文字を検索する

    2. MySQL-最後に挿入された行を最も簡単な方法で選択します

    3. MS Accessの制限は何ですか?

    4. 単一のクエリを使用して複数の行を挿入するときに、挿入されたすべてのIDを取得します