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

在DB2和Oracle中使用java插入BLOB

王叶五
2023-03-14

我目前正在验证一个在Oracle for DB2上开发的应用程序。因为我们不想维护两个独立的源,所以我需要一些查询来将blob插入到一个字段中,该字段在oracle和db2中都可以使用。我没有任何标识符来区分应用程序在哪个DB下运行。

我在oracle中使用utl_raw.cast_to_raw,在DB2中使用CAST()作为BLOB,它们是互不兼容的。

共有1个答案

危飞文
2023-03-14

您将无法找到使用某种类型转换的常见SQL。但您可以使用JDBC的setBinaryStream()用“普通”SQL来实现这一点

PreparedStatement pstmt = connection.prepareStatement(
   "insert into blob_table (id, blob_data) values (?, ?)";

File blobFile = new File("your_document.pdf");
InputStream in = new FileInputStream(blobFile);

pstmt.setInt(1, 42);
pstmt.setBinaryStream(2, in, (int)blobFile.length());
pstmt.executeUpdate();
connection.commit();

您可以以与UPDATE语句相同的方式使用setBinaryStream()

 类似资料:
  • 问题内容: 在Oracle 10g上,我们需要将视图中的记录插入表中,以支持本身没有sort或ORDER选项的哑客户端应用程序。有什么方法可以控制我们的INSERT语句将记录添加到目标表的顺序? 问题答案: 您 不能 可靠地控制Oracle以何种顺序检索表的行,而不带。 此外,如果没有提示,Oracle将把这些行实际存储在一个有空间的堆表中,该空间可能不在表的末尾!您可能会认为Oracle会按顺序

  • 本文向大家介绍如何在COBOL-DB2程序中使用单个INSERT命令在DB2表中插入多行?,包括了如何在COBOL-DB2程序中使用单个INSERT命令在DB2表中插入多行?的使用技巧和注意事项,需要的朋友参考一下 如果要使用单个INSERT命令在DB2表中插入多行,则必须定义主机变量数组并将要插入的行数据移动到该数组中。我们需要在工作存储部分中使用配置S9(4)COMP定义另一个变量,该变量将保

  • 我想知道如何使用SQL在DB2中使用存储过程插入到表中。我创建了一个如下表: 此表包含项目列表。使用此列表,我想将其他各种字段插入到另一个表中。但是,举个例子,假设我只想使用游标逐个插入这些值。我将存储过程编写如下: 这给了我一个无限循环。谁能告诉我如何停止无限循环并插入这些记录。我想使用光标,因为我想进一步使用itemno来比较并获得单个结果。

  • 我使用JDBC,使用insert select样式insert将一行插入到DB2数据库表中。我同时尝试使用从变量以及插入动态数据: 我不熟悉sql和JDBC,所以我不知道使用<code>CURRENT DATE</code>是常见的,还是特定于我们的系统,但它可以在正常的插入中工作,如: 我从未使用过insert-select风格的插入,所以我不知道错误是否出在我的“?”我使用PreparedSt

  • 我试图在Db2中创建Oracle PL/SQL包,但遇到了错误。 当我运行上面的代码时,它会导致以下错误: Deploy[tnbdr]db2inst1.arithmetic Running db2inst1.arithmetic-Deploy for debug started。Create PL/SQL Package Specification返回SQLCODE:-104,SQLSTATE:4

  • 问题内容: 我有对象的arraylist,并尝试将列表插入HANA。所以我的插入代码看起来像 } 这里 返回一个整数数组。 但这无法正常工作。根据我的程序每次都会调用ARRAY函数,但是为什么不将其插入HANA数据库中呢,所以过了一会儿我才知道我必须将JAVA Array转换为HANA Array。如何转换Java Array到HANA阵列。任何帮助表示赞赏。 问题答案: @RKR好的,这里有您的