【发布时间】:2022-07-30 01:06:57
【问题描述】:
我有一个 API,每 10 秒给我 15000 行 json 数据。我使用这个tutorial,当我插入 5 行或更多行时插入是可以的,但是当我插入 15000 行时会出现错误PLS-00172: string literal too long。
我的代码:
create table jt_test (
CUST_NUM int, SORT_ORDER int, CATEGORY varchar2(100)
);
DECLARE
myJSON CLOB := '[
{"CUST_NUM": 12345, "SORT_ORDER": 1, "CATEGORY": "ICE CREAM"},
{"CUST_NUM": 12345, "SORT_ORDER": 2, "CATEGORY": "ICE CREAM"},
{"CUST_NUM": 12345, "SORT_ORDER": 3, "CATEGORY": "ICE CREAM"}
]';
BEGIN
insert into jt_test
select * from json_table ( myjson, '$[*]'
columns (
CUST_NUM, SORT_ORDER, CATEGORY
)
);
END;
注意:我在使用 MSSql this link 之前,即使在一个查询中处理 20000 行也能完美运行。
我使用 Oracle19C 并使用 cx_Oracle 模块 python 连接并插入到数据库
【问题讨论】:
-
@Ouroborus 谢谢我测试和发送工作与否。
-
不行,再次
PLS-00172: string literal too long -
您确定您阅读了答案吗?基本的解决方案是将字符串文字切割成更小的块。