当前位置: 首页 > 知识库问答 >
问题:

如何使用Vert将Blob插入oracle数据库11g。十、

袁轶
2023-03-14

我正在尝试使用vert将BLob插入Oracle数据库。x、 我拿到上传文件了

     for (FileUpload f : routingContext.fileUploads()){
         System.out.println("file name " + f.fileName());
         System.out.println("size name " + f.size());
         System.out.println("Uploaded File " + f.uploadedFileName());
     }

我已使用以下方法将文件上载转换为字节数组

 Buffer fileUploaded = routingContext.vertx().fileSystem().readFileBlocking(f.uploadedFileName());

 byte[] fileUploadedBytes = fileUploaded.getBytes();

现在我想直接将其插入Oracle数据库,我尝试使用updateWithParams,但我不知道如何将Blob添加到查询参数中。谢谢你的帮助

共有1个答案

霍襦宗
2023-03-14

这是我解决问题的实现,现在我可以将文件Blob插入到Oracle数据库中,我希望这将对将来的人有所帮助。

 ByteArrayInputStream finalBis = bis;
    byte[] finalFileUploadedBytes = fileUploadedBytes;
    DB.getConnection(connection -> {
        if (connection.succeeded()) {
            CallableStatement stmt = null;
            try {
                stmt = connection.result().getConnection().prepareCall(SQL.INSERT_DOCS_QUERY);
                stmt.setBinaryStream(1, finalBis, finalFileUploadedBytes.length);
                stmt.setString(2,desiDoc);
                stmt.setString(3,sourDoc);
                logger.debug(stmt);
                stmt.execute();
                finalBis.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            System.out.println("nooot  ok");
        }
    });
 类似资料:
  • 问题内容: 我有一个机器人脚本,该脚本可以从sql文件中插入一些sql语句;其中一些语句包含utf8字符。如果我使用navicat工具将此文件手动插入数据库,一切都很好。但是,当我尝试使用机器人框架的数据库库执行此文件时,utf8字符会发疯! 这是我的utf8包含的sql语句: 这是我使用数据库库的方式: 这是我在数据库中得到的: 我尝试直接使用执行SQL文件,但仍然失败!原始库中似乎有问题。这是

  • 问题内容: 我需要将XML文件内容写入oracle数据库,其中该列是CLOB数据类型。我该怎么做? 问题答案: 过时的 请参阅下面的Lukas Eder的答案。 大约有100行代码;-) 这是一个示例 。 要点:与其他JDBC驱动程序不同,Oracle的驱动程序不支持使用和作为参数。相反,您必须先将该列然后 写入 我建议您将此代码移到辅助方法/类中。否则,它将污染其余的代码。

  • 问题内容: 我有一些每月的天气数据,我想插入到Oracle数据库表中,但是我想成批插入相应的记录,以提高效率。谁能建议我如何用Python做到这一点? 例如,假设我的表有四个字段:工作站ID,日期和两个值字段。记录由工作站ID和日期字段(复合键)唯一标识。我将为每个站点插入的值将保存在一个列表中,其中包含X整整年的数据值,因此,例如,如果有两年的值,则值列表将包含24个值。 如果我想一次插入一条记

  • 我想我在这段代码中遇到了一点问题:当我试图在数据库中插入值时,我遇到了一个错误。

  • 问题内容: 从Python脚本向MySQL插入一些数据时,出现一个奇怪的错误。这基本上与我要插入的变量为空有关。我认为MySQL不喜欢空白变量,但是还有其他我可以将其更改为可以与我的insert语句一起使用的东西吗? 我可以成功地使用一条语句将其设置为0(如果为空),但这可能会弄乱我计划稍后在MySQL中进行的某些数据分析。有没有办法将其转换为或某种方式,以便MySQL接受但不添加任何内容? 问题

  • 我的准备好的语句有问题,但我无法找出错误所在。我正在尝试将URI链接插入数据库。 错误