oracle - 从 Oracle sqlplus 中的 shell 脚本将大字符串插入到列类型 CLOB
问题描述
我想编写一个连接到我的 oracle 数据库并更新列类型 clob 的 shell 脚本。这个 clob 的值是从一个文件(它是一个 xml)中读取的,并从我的脚本中读取到一个变量中,然后从 sqlplus 执行查询。
我已经编写了一个脚本,它读取一个包含大约 30000 个字符的 file-abc.xml。连接工作正常,因为我执行了一些其他插入查询没有问题
#!/bin/sh
value=$(<abc.xml)
query="UPDATE MY_CLOB_TABLE SET MY_CLOB_COLUMN=TO_CLOB('$value') WHERE MY_OTHER_COLUMN='AnotherColumn';"
echo $query | sqlplus -s $ORACLE_CON_STRING
我收到一条错误消息
Input truncated to 7499 characters
SP2-0027: Input is too long (> 2499 characters) - line ignored
如何将这样的大文件插入到 clob 中?
解决方案
推荐阅读
- java - 使用 %n 作为新行
- crystal-reports - 如何从 Crystal Reports 中的现有组创建组总计
- css - 您可以更改 Material UI TextField 特定部分的文本颜色吗?
- javascript - 我无法弄清楚为什么我的 D3js 图表没有显示
- c++ - 基本多态性
- docker - 无法连接到 127.0.0.1 端口 80:连接被拒绝 ddev-router healthcheck 端点没有响应
- javascript - 使用 localStorage 保存 Google 地图和行车路线
- android - Android 模拟器 - 未调用 OkHttp(或 Retrofit)回调
- linux - 我将如何编写一个“if”命令来检查是否有多个参数?
- android-studio - 在 Android 上颤振火焰精灵复制而不是在 iPhone 上?