我遇到了一个接口脚本的问题,应该将 ORACLE 数据库的某些表的内容导出到 CSV 文件中,然后将这些 CSV 导入到 MYSQL 数据库中。
STEP1: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 文件,但格式似乎不正确,因为我可以在输出中找到一些回车符。您还将在 STEP2 中看到我们定义了一个“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 上运行的脚本
谢谢!