使用存储过程将base64映像插入oracle

时间:2016-08-18 05:58:15

标签: java oracle blob

是否可以使用存储过程将字符串(实际上是base64)插入数据库。我尝试了各种方法。而且大多数情况下,我遇到的错误是“#34;无法投射到"”。有时我的jboss服务器已经死了。

$nxt

在这种情况下,程序会说错误的参数类型。然后我搜索并阅读然后添加了一些代码。

private class AddItemSP extends StoredProcedure {
    private static final String SPROC_NAME = "POST.addItem";

    AddItemSP (DataSource ds) {
        super(ds, SPROC_NAME);

        declareParameter(new SqlParameter("in_image", Types.VARCHAR)); // oracle: in_image IN BLOB
        declareParameter(new SqlOutParameter("out_state", Types.VARCHAR));
        declareParameter(new SqlOutParameter("out_message", Types.VARCHAR));

        compile();
    }

    public Map<String, Object> execute(String image) {
        Map<String, Object> inputs = new HashMap<String, Object>();
        inputs.put("in_image", image);

        return super.execute(inputs);
    }
}

并将该blob发送到过程,当然将Types.VARCHAR更改为Types.BLOB。仍然失败。

那么我做错了什么?

0 个答案:

没有答案