1

对你充满希望。

我需要将一个巨大的表(900 个字段,1 000 000 个字符串)导出到 txt ansi 文件中。UTL_FILE 需要很多时间。它不适合这个任务。我正在尝试使用 Oracle Datapump,但我无法接收带有 ansi 符号的 txt 文件(只有 2TTЁ©QRўҐEJЉ•)。任何人都可以给我任何建议。先感谢您。

4

1 回答 1

2

Oracle Data Pump 只能以其专有的二进制格式导出。

如果要将数据导出为文本,则只有几个选项:

  1. PL/SQL 或 Java(存储)过程,它使用 UTL_FILE 或 Java 等效 api 写入文件。
  2. 在数据库之外运行的程​​序写入文件。使用您喜欢的任何语言。Pro*C 可能是一个不错的选择,因为它显然比 UTL_FILE 方法快得多,请参阅http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:459020243348
  3. 使用特殊的 SQL 脚本并使用假脱机在 SQL*Plus 中运行它。这是“SQL 卸载程序”方法,请参阅http://www.orafaq.com/wiki/SQL *Loader_FAQ#Is_there_a_SQL.2AUnloader_to_download_data_to_a_flat_file.3F

谷歌搜索“SQL Unloader”提供了一些现成的解决方案,您可以直接使用或根据需要进行修改。

于 2012-07-19T07:37:42.697 回答