FAQ 常见问题系列--Java 如何向IRIS数据库中写入Stream数据
以下示例代码可实现在Java中通过JDBC向IRIS数据库中写入Stream数据,插入的该Stream大小约为4M,对应在IRIS中字段类型为%Stream.GlobalCharacter。以下代码在IRIS2021上测试成功,供大家参考,
Java代码,
public static void test96()
{
int rt;
String sql="Insert into My_Msg.Test1(MsgControlID,S1) values(?,?)";
try {
IRISDataSource ds = new IRISDataSource();
//172.19.85.72/:1972/YLL IRIS Health 2021
ds.setURL("jdbc:IRIS://<ip>:1972/YLL");
ds.setUser("<username>");
ds.setPassword("<password>");
Connection connection = ds.getConnection();
PreparedStatement pstmt = connection.prepareStatement(sql);
System.out.println("1");
StringBuffer txt = new StringBuffer();
for (int i = 0; i < 4000000; i++) {
txt.append("a");
}
pstmt.setInt(1, 1);
pstmt.setObject (2, txt.toString());
rt = pstmt.executeUpdate();
System.out.println("2:"+rt);
pstmt.close();
connection.close();
}catch (Exception ex) {
System.out.println("JDBC caught exception: "
+ ex.getClass().getName() + ": " + ex.getMessage());
}
}
插入的表在IRIS中对应的类定义,
Class My.Msg.Test1 extends %Persistent
{
Property MsgControlID As %String;
Property S1 As %Stream.GlobalCharacter;
}