Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Derby DB—在Java中将字符串保存为CLOB时要转义的字符列表_Java_Database_Escaping_Derby - Fatal编程技术网

Derby DB—在Java中将字符串保存为CLOB时要转义的字符列表

Derby DB—在Java中将字符串保存为CLOB时要转义的字符列表,java,database,escaping,derby,Java,Database,Escaping,Derby,由于商业许可证问题,我从MySQL切换到Derby DB。所以现在我必须转义特殊字符,比如单引号等等,这与MySQL有很大不同。因此,在将字符串作为CLOB数据存储到Derby DB之前,我要做的是: public static String escapeSQL(String text) { return text .replace("\'", "\''"); //And the rest of MUST escap

由于商业许可证问题,我从MySQL切换到Derby DB。所以现在我必须转义特殊字符,比如单引号等等,这与MySQL有很大不同。因此,在将字符串作为CLOB数据存储到Derby DB之前,我要做的是:

public static String escapeSQL(String text) {
        return text
                .replace("\'", "\''");
                //And the rest of MUST escape characters
    }

所以我的问题是——这个清单应该如何完成?必须转义的所有字符是什么?

这是关于解析程序中的字符串文字,而不是关于所使用的列类型。避免此类问题的最佳方法是使用预先准备好的语句。

是什么让您认为有必须转义的字符?因为这里会出现语法错误:
st.executeUpdate(“INSERT-INTO-myTable(“someColumn1,someColumn2”)值('ok','这将导致“语法错误”)改用
PreparedStatement
。您不仅可以不再担心转义特殊字符,而且您的应用程序也不会那么容易受到SQL注入的攻击(您应该已经在MySQL btw中这样做了)