gpt4 book ai didi

java - 我怎样才能避免这个 java.sql.SQLException : ORA-01704: string literal too long is thrown?

转载 作者:行者123 更新时间:2023-12-01 11:26:39 25 4
gpt4 key购买 nike

我正在开发一个旧的 Java 应用程序,但在 Oracle 数据库上执行简单的插入查询的方法有一些问题:

private boolean insertFlussoXmlsdi(DBOperatore op, String numeroFattura, String dataFattura, String fatturaXml) {

StringBuffer query = new StringBuffer();

query.append("INSERT INTO FLUSSO_XMLSDI (NUMERO_FATTURA, DATA_EMISSIONE, XML) VALUES (");
query.append(numeroFattura);
query.append(", date'");
query.append(dataFattura);
query.append("', '");
query.append(fatturaXml);
query.append("')");


try {
Statement stmt = op.getConnessione().createStatement();
stmt.execute(query.toString());

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();

TraceLog.scrivi("INSERIMENTO FATTURA", "ERRORE inserimento fattura con numero fattura: " + numeroFattura, false, TraceLog.lowConsole + TraceLog.highTrace + TraceLog.highLog);

return false;
}

TraceLog.scrivi("INSERIMENTO FATTURA", "Inserimento fattura con numero fattura: " + numeroFattura, false, TraceLog.lowConsole + TraceLog.highTrace + TraceLog.highLog);

return true;

}

问题是 String fatturaXml 参数代表一个 XML 文件,而且它非常大。因此,当执行上一个查询时,我发现抛出了此异常:

java.sql.SQLException: ORA-01704: string literal too long

如何解决这个问题并正确插入记录?

Tnx

最佳答案

如果尝试将超过 4000 个字符的数据插入到列 - VARCHAR2 中,则会出现错误 ORA-01704。检查下面的SO帖子

Error : ORA-01704: string literal too long

关于java - 我怎样才能避免这个 java.sql.SQLException : ORA-01704: string literal too long is thrown?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30761195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com