对于 DB2 和 Oracle,使用 java 插入 BLOB

2023-11-26

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

I used utl_raw.cast_to_raw在甲骨文中和CAST() as BLOB在 DB2 中,它们是相互不兼容的。


您将无法找到使用某种类型转换的通用 SQL。但是您可以使用 JDBC 通过“普通”SQL 来完成此操作setBinaryStream()

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();

您可以使用setBinaryStream()同样的方式UPDATE陈述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于 DB2 和 Oracle,使用 java 插入 BLOB 的相关文章

随机推荐

  • Google Play 开发者控制台与 Crashlytics 控制台中的崩溃

    我们在 Google Play 商店中有一个 Android 应用程序 应用程序的崩溃和 ANR 部分仅列出了少数几个最严重的崩溃 而我们的 Crashlytics 控制台列出了一组完全不同的崩溃 我的意思是 Crashlytics 中只有
  • Beautiful Soup 4 find_all 找不到 Beautiful Soup 3 找到的链接

    我注意到一个非常烦人的错误 BeautifulSoup4 包 bs4 经常会发现比以前版本更少的标签 包 BeautifulSoup 这是该问题的一个可重现的实例 import requests import bs4 import Beau
  • Java JIT 循环展开策略?

    JIT 的循环展开策略是什么 或者 如果没有简单的答案 那么有什么方法可以检查在循环中何时 何地执行循环展开 GNode child null for int i 0 i lt 8 i child octree getNeighbor nn
  • 用于选择 div 内文本的 css 类选择器

    我有一个类名为 test 的 div 类 test 有一个分配给它的光标指针 该类也有 200px 的固定宽度 div 内部的文本长度小于 div 的宽度 我不希望当鼠标放在div的空白部分时出现该点 有没有一种方法可以将 css 指针分配
  • 在 select 元素中触发 Change 事件和 keyup 事件

    我有一些代码应该在选择元素更改时运行 我用 jquery 这样做 myselect change function 但我希望当用户使用关键字箭头更改选择时也运行这些代码 我发现用于此目的的事件是 keyup 所以将会是 myselect k
  • Java Swing 中的弹出窗口

    有人可以建议我如何在 Java Swing 中实现弹出窗口吗 我希望弹出窗口是模式窗口 弹出窗口打开时用户无法返回主窗口 我尝试使用 JDialog 来完成此操作 但它只允许一个用于用户输入的小部件 而我需要多个小部件 我在这里可能是错的
  • Angular 2,如何使用 queryParams 将数组传递到路由器

    Angular 2 有没有办法获取这种 URL http example com the route param value1 param value2 param value3 我正在尝试做它应该做的事情 使用queryParams与Ro
  • java - 具有 int 范围的 switch 语句

    我想使用 switch 语句来检查一系列数字 我发现一些地方说类似case 1 5 or case score gt 120 score lt 125 会起作用 但我只是不知何故不断出错 我想要的是 如果数字在 1600 1699 之间 则
  • 无法在 Angular 4.3 中使用 HttpInterceptor 进行缓存

    我正在尝试实施HttpRequest缓存使用HttpInterceptor根据 Angular 4 3 的文档 但我收到错误 这是我的代码 缓存 interceptor ts import HttpRequest HttpResponse
  • C++ 中令人困惑的尖括号

    我从 c 转向 c 熟悉语法 但我刚刚遇到了语法不熟悉的代码 int main std shared ptr lt CommonAPI Runtime gt runtime CommonAPI Runtime get std shared
  • 如何在Android Studio中正确使用postDelayed()?

    我有一个 countDownTimer 如果用户在第 12 秒内没有点击 gameButton 我希望调用 gameOver 方法 问题在于 当 countDownTimer 为 12 时 游戏函数会立即被调用 或者计时器会继续倒计时 所以
  • TLD 可能有多长?

    我正在 PHP 中开发电子邮件验证正则表达式 我需要知道 TLD 可能持续多长时间并且仍然有效 我做了一些搜索 但找不到有关该主题的太多信息 那么 TLD 可能有多长 DNS 允许单个标签最多使用 63 个字符
  • QuickBooks QBFC 说明

    QBFC是什么 将第三方程序的发票和采购订单过帐到 QuickBooks 时如何运作 我应该将哪个 QBFC 版本与 QuickBooks 2008 一起使用 我只是想知道QBFC是什么 它是一个 COM 库 构建 QuickBooks 可
  • Electron v1.7:关闭、最大化和最大化

    我正在尝试构建一个具有关闭 最大化和最小化按钮的简单应用程序 该应用程序的问题是 关闭 最大化 和 最小化 无法正常工作 这console log 单击按钮时 它可以正常运行并显示正确的消息 但是 它不会执行实际的关闭 最大化和最小化操作
  • 跨平台 numpy.random.seed()

    The docs say 兼容性保证 固定的种子和固定的调用系列 使用相同参数的 RandomState 方法总是会产生 舍入误差的结果相同 除非这些值是 不正确 错误的值将被修复 NumPy 版本将在 进行了哪些修复将在相关文档字符串中注
  • django.db.utils.ProgrammingError:无法将类型 uuid 转换为整数

    我尝试将我的网站上传到 Heroku 服务器并陷入这个问题 当我尝试迁移数据库时出现错误 上述异常是导致以下异常的直接原因 return self cursor execute sql params File app heroku pyth
  • iframe Safari 中的跨域 cookie

    我在 iframe 从另一个域加载站点 中设置 cookie 时遇到问题 在我的网站 X COM 上我加载 Y COM 尝试设置 cookie 但 Safari 阻止了它们 因为之前没有访问过该网站 因此加载 Y COM 失败 因为没有 c
  • 谷歌地图API绘制带有编码点的折线

    我是 javascript 和 Google 地图 api 的新手 所以我编码了这样的点 yzocFzynhVq n o nzD 并尝试用它绘制折线 我还没有找到主题或文档来解决我的问题 关于如何解码它的主题很少 但我不需要这样做 我只需要
  • UIPageViewController 具有不同的 ViewController,正确的方法吗?

    基本上 我有一个表视图控制器和一个普通的视图控制器 我想这样做 以便我可以在视图控制器之间滑动 就像在应用程序的主屏幕上一样 显然是相同类型的视图控制器 但我发现的是UIpageviewcontroller通常当您有同一类型的多个视图时使用
  • 对于 DB2 和 Oracle,使用 java 插入 BLOB

    我目前正在验证在 Oracle 上为 DB2 开发的应用程序 由于我们不想维护两个单独的源 因此我需要一些查询来将 blob 插入到一个字段中 该查询在 oracle 和 db2 中都适用 我没有任何标识符来区分应用程序在哪个数据库下运行