簡體   English   中英

Oracle 將超過 4K 字符的文本插入到 clob

[英]Oracle insert text more than 4K characters to clob

將超過 4K 的字符插入 clob 是有限制的 我在 Java 中的做法是將長文本切成 4K 字符的塊並與 to_clob() 連接,它工作正常

但是,我的文字中經常包含'' 例如-“abc''def”

當文本在 '' '' 之間被分割時,插入的文本不正確......

例如 - to_clob(“abc') || to_clob(“'def'”) 知道如何解決嗎?

謝謝

在 clob 中插入超過 4K 的字符是有限制的

不,那里沒有。 CHAR / VARCHAR2數據類型有 4000 個字節的(歷史)限制,這包括字符串文字。

'This string literal has a 4000 byte limit.'

這與CLOB數據類型無關。

我在 Java 中的做法是將長文本切成 4K 字符塊並與to_clob()連接,它工作正常

不要那樣做。 使用綁定變量

String your_string = "A very long string..."
PreparedStatement ps = connection.prepareStatement(
  "INSERT INTO table_name(clob_column) VALUES (?)"
);
Clob clob = connection.createClob();
clob.setString(1, your_string);
ps.setClob(1, clob);

或者:

String your_string = "A very long string..."
PreparedStatement ps = connection.prepareStatement(
  "INSERT INTO table_name(clob_column) VALUES (?)"
);
ByteArrayInputStream inputStream = new ByteArrayInputStream(your_string.getBytes());
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
ps.setClob(1, inputStreamReader);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM