13

String から Clob オブジェクトを作成する必要がある状況があります。問題は、そのメソッドに ConnectionManager を含めることができないことです。

次のようなユーティリティが必要です

 public Clob getClob(String data){

 }

どうすればこれを作ることができるか誰か教えてください。

orce.sql.CLOB もあります。ただし、オブジェクトを作成するには Connection が必要です。

4

8 に答える 8

23

別の答えをまだ探している人は、以下に示すように、接続オブジェクトを必要とせずに Clob オブジェクトを作成できます。

Clob myClob = new javax.sql.rowset.serial.SerialClob(stringData.toCharArray());
于 2018-02-27T08:54:37.030 に答える
10

警告をスローします: Clob が初期化されていません。

Oracle データベースを使用して Clob を作成するには、OracleConnection が必要です。

OracleConnection conn;  // initialize this first

Clob myClob = conn.createClob();



private OracleConnection conn = null;
public void setConnection( OracleConnection conn )
{
    this.conn = conn;
}

void setClob( String cookie ) throws SQLException
{
    Clob myClob = conn.createClob();
    myClob.setString( 1, cookie);
}
于 2012-12-14T16:03:13.730 に答える
9

これを試して :

OracleConnection conn;  // initialize this first

CLOB clob = conn.createClob();

public Clob getClob(String data){

    return clob.setString(position, data);
}
于 2012-07-11T07:13:07.933 に答える
0

JSONをフィールドに保存する必要がある場合と同様の問題がありました。BLOB または CLOB を Java オブジェクトとして使用する必要はありませんが、1 つとして格納できます。

ORACLEデータベース(言語を話す際に常に問題を引き起こすデータベース)を使用している場合、私の答えをまとめるために、次の形式をガイドまたはベストプラクティスとして使用します。これは、オラクルのドキュメント自体に基づいており、問題を解決します。

@Lob @Basic(fetch=LAZY)
@Column(name="REPORT")
protected String report;

ご覧のとおり、データをラングリングするために使用する変数は文字列 (変換は不要) ですが、LOB として格納されます。

幸運を!

于 2021-03-28T05:58:44.940 に答える