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

Pl / SQLのストアド関数から一時CLOBインスタンスを返す方法は?

    コメントであなたは言った:

    getSubString 述べている:

    CLOBを生成して返す単純な関数を使用して、JDBC(ojdbc5)を介してCLOBを取得できます。 またはojdbc6getCLOB()でも問題ありません またはgetString() 。しかし、Oracle.sql.CLOBを割り当てようとすると getCLOBで取得 Stringに 使用

    String x = getSubString(0, clob.length());
    

    次に、Invalid argument(s) in callも取得します エラー。これを次のように変更するだけです:

    String x = getSubString(1, clob.length());
    

    動作します。したがって、関数内の一時的な割り当てやCLOBサイズとは何の関係もないようです。小さいCLOBで問題が発生しなかった理由がわかりません。おそらく、小さいCLOBの場合、ロジックがこれにヒットしなかったのではないでしょうか。

    それまでの間、clob.getCharacterStream().read()を使用してこれを回避しました。 、したがって、これは今は少し無関係かもしれません。



    1. 外部キーは常に別のテーブルの一意のキーを参照しますか?

    2. 生のSQLの主キー要件は、Djangoのクエリを複雑にします

    3. SQLServerの他の2つの列の間に列を追加する

    4. PostgreSQLとOracleGTTの一時テーブルの比較