以下是信息:
CLOB.setClob()preparedstatement的方法.所以我的问题是如何Clob从这个String 创建一个对象,以便我可以使用setClob()方法.
提前谢谢,Naveen
如果要将字符串写入CLOB列,请使用PreparedStatement.setString.
如果您想知道如何从String创建CLOB,那就是它
Clob clob = connection.createClob();
clob.setString(1, str);
Run Code Online (Sandbox Code Playgroud)
您可以按如下方式从连接对象创建clob
Connection con = null;// write code to make a connection object
Clob clob = con.createClob();
String str = "this is a stirng";
clob.setString(1, str );
PreparedStatement ps = null;// write code to create a prepared statement
ps.setClob(4, clob);
Run Code Online (Sandbox Code Playgroud)
或者您可以尝试以下替代代码:
//alternative way
String str = "this is a stirng";
ByteArrayInputStream inputStream = new ByteArrayInputStream(str.getBytes());
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
int parameterIndex = 1;
PreparedStatement ps = null;// write code to create a prepared statement
ps.setClob(parameterIndex, inputStreamReader);
Run Code Online (Sandbox Code Playgroud)
对于 CLOB 来说,它已经是 String 了。所以,只需使用 .setString() 就可以了。关于 ORACLE jdbc 的一件事是,如果您使用它,它就像 CLOB INPUT 参数是语句中的最后一个参数,尤其是在处理大量数据时。
例子:
INSERT INTO MY_TABL (NUM_COL, VARC_COL, VARC_COL, TS_COL, CLOB_COL)
VALUES(?,?,?,?,?);
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,CLOB_COL 是 CLOB 类型,并且应该位于最后,以便当您执行 .setString(5) 时,5 是最后一个索引。
| 归档时间: |
|
| 查看次数: |
20272 次 |
| 最近记录: |