cx_Oracle を使用して、多くの長い文字列 (>4000 バイト、ただし <10,000 バイト) を一括ロードする必要があります。表のデータ型は CLOB です。これらの文字列を 1 億以上ロードする必要があります。これを1つずつ行うのは面倒です。一括で行う、つまりcursor.arrayvar()を使用するのが理想的です。ただし、CLOB は配列をサポートしていません。BLOB、LOB、LONG_STRING LONG_RAW も同様です。どんな助けでも大歓迎です。
1248 次
2 に答える
0
壁の提案から外れていますが、11gR2 を使用しているため、DBFSを見てください 。「ロード」の観点からは、ファイルをコピーするだけで、ファイルは LOB として「表示」されます。ビルトイン FTP サーバーでも同様のことができますが、ファイルの取り扱いははるかに簡単です。
次に、それらを dbfs_content ビューからプルしてプロシージャにプッシュするプロシージャを作成します。
もう 1 つは、それらがすべて 12,000 バイト未満の場合、それらを 3 つの部分に分割し、それらを 3 つの別個の VARCHAR2(4000) 文字列として処理し、PL/SQL 側で再度結合することです。
于 2010-07-29T03:48:25.953 に答える
0
十分な成果を上げるために、コメントで言及した CLOB を悪用しました。コードを作成するのに 30 分もかからず、高速で動作します。
于 2010-07-30T16:08:31.527 に答える