文章
· 四月 21, 2022 阅读大约需 2 分钟

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;
}
讨论 (0)1
登录或注册以继续