发布
社区首页 >问答首页 >使用cx_Oracle将长字符串数组( >4000字节)传递给Oracle (11gR2)存储过程

使用cx_Oracle将长字符串数组( >4000字节)传递给Oracle (11gR2)存储过程
EN

Stack Overflow用户
提问于 2010-07-29 08:41:48
回答 2查看 1.2K关注 0票数 0

我们需要使用cx_Oracle批量加载许多长字符串(>4000字节,但<10,000字节)。表中的数据类型为CLOB。我们需要加载超过1亿个这样的字符串。一个接一个地做这件事会很糟糕。以批量的方式来做,即使用cursor.arrayvar()将是理想的。但是,CLOB不支持数组。BLOB,LOB,LONG_STRING LONG_RAW也不需要。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2010-07-29 11:48:26

建议,但由于您是在11gR2上,所以从“加载”的角度来看一下DBFS,您只是复制文件,它们“显示”为LOB。你可以用内置的FTP服务器做类似的事情,但是文件处理要容易得多。

然后,您只需编写一个过程,将它们从dbfs_content视图中拉出并推送到您的过程中。

另一种方法是,如果它们都小于12,000字节,则将它们分成三个部分,并将它们作为三个单独的VARCHAR2(4000)字符串处理,然后在PL/SQL端将它们重新连接起来。

票数 0
EN

Stack Overflow用户

发布于 2010-07-31 00:08:32

为了得到足够好的垃圾,我们滥用了我在评论中提到的CLOB。它只用了不到30分钟的时间来编写代码,运行速度很快,而且还能正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3358666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档