gpt4 book ai didi

oracle - SQLPlus导出到CSV(输出格式问题)

转载 作者:行者123 更新时间:2023-12-02 11:43:07 25 4
gpt4 key购买 nike

我遇到了一个接口(interface)脚本的问题,该脚本应该将 ORACLE 数据库的某些表的内容导出到 CSV 文件中,然后将这些 CSV 导入到 MYSQL 数据库中。

第 1 步:SQLPlus 导出到 CSV

set headsep off  
set heading off
set term off
set echo off
SET RECSEPCHAR \n
set pagesize 0
set linesize 0
trimspool on
SET FEEDBACK OFF
spool as_ex_feature.csv
select '"AS'||'"|"'||feature_group||'"|"'||feature_desc||'"|"
||feature_order||'"|"'||prod_code||'"'
from MYVIEW WHERE MYCONDITIONS;
spool off;

-> 这一步正在生成 CSV 文件,但格式似乎不正确,因为我可以在输出中找到一些回车符。此外,您还会在第 2 步中看到,我们定义了一个“ENCLOSED BY”值,我怎样才能将该值包含在导出格式中(目前情况似乎并非如此)。

第2步:MYSQL加载

LOAD DATA INFILE 'mycsvfile' REPLACE INTO TABLE `mt_feature` 
FIELDS TERMINATED BY '|'
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n';

由于某些技术原因,该脚本必须重新构建,并且 Mysql 部分没有更改,并且可以通过正确的 CSV 文件导入来正常工作。

问题似乎来自 SQLPlus 导出,我需要承认我对此了解不多。也许我应该使用另一种方法来生成这些文件?

如果您需要更多详细信息,请告诉我,我觉得自己很盲目......

<小时/>

在oracle 10g、Linux、Mysql 4.x上运行的脚本

谢谢!

最佳答案

SET LINESIZE 0 无效,该值必须在 1 到 32767 之间。所以我想它会以默认行长度(即 80)包装内容,除非您已经有了它在 glogin 脚本中设置。

关于oracle - SQLPlus导出到CSV(输出格式问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4826681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com