我们需要使用cx_Oracle批量加载许多长字符串(>4000字节,但<10,000字节)。表中的数据类型为CLOB。我们需要加载超过1亿个这样的字符串。一个接一个地做这件事会很糟糕。以批量的方式来做,即使用cursor.arrayvar()将是理想的。但是,CLOB不支持数组。BLOB,LOB,LONG_STRING LONG_RAW也不需要。任何帮助都将不胜感激。
发布于 2010-07-29 11:48:26
建议,但由于您是在11gR2上,所以从“加载”的角度来看一下DBFS,您只是复制文件,它们“显示”为LOB。你可以用内置的FTP服务器做类似的事情,但是文件处理要容易得多。
然后,您只需编写一个过程,将它们从dbfs_content视图中拉出并推送到您的过程中。
另一种方法是,如果它们都小于12,000字节,则将它们分成三个部分,并将它们作为三个单独的VARCHAR2(4000)字符串处理,然后在PL/SQL端将它们重新连接起来。
发布于 2010-07-31 00:08:32
为了得到足够好的垃圾,我们滥用了我在评论中提到的CLOB。它只用了不到30分钟的时间来编写代码,运行速度很快,而且还能正常工作。
https://stackoverflow.com/questions/3358666
复制相似问题