簡體   English   中英

使用CLOB值更新Oracle中的Clob列

[英]Updating clob column in oracle with CLOB value

我要更新的列是CLOB類型,方法如下;

public boolean formVeriGuncelleSil(String sql) throws VeritabaniException {
        try {
            Session session = getSessionFactory().getCurrentSession();
            SQLQuery query = session.createSQLQuery(sql);
            query.executeUpdate();
            return true;
        } catch (RuntimeException e) {
            throw new VeritabaniException(e, VERIGUNCELLEMEEXCEPTION, "FID_01_02_01");
        }
    }

sql字符串;

UPDATE K1FORM_LISTGRID3 SET TEXTAREA4=oracle.sql.CLOB@77df8d, TEXTT5='ANAFORM',ANATABLO='1', OLUSTURAN_KULLANICI='184' WHERE ID=1

我得到“ java.sql.SQLSyntaxErrorException:ORA-01729:數據庫鏈接名稱預期”錯誤

我該如何解決這個SQL。 請幫助。

Oracle正在解釋此SQL

SET TEXTAREA4=oracle.sql.CLOB@77df8d

由於使用@符號作為數據庫鏈接,但是無論如何都沒有關系,因為您在此處所做的只是嘗試將列的值設置為CLOB的toString ,這不是您想要的。

您的代碼示例並未真正概述問題出在哪里,因為該方法只是執行傳遞的SQL的通用實用程序,但我建議使用以下兩種方法之一:

  1. 遵循GriffeyDog的建議,並切換到PreparedStatement,在其中使用PreparedStatement.setClob綁定CLOB。
  2. 如果使用的是Oracle 11g + JDBC驅動程序,則可以使用簡單的Java字符串設置CLOB列的值。

暫無
暫無

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

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