У меня возникла проблема с интерфейсным скриптом, который должен был экспортировать содержимое некоторой таблицы базы данных 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», как я могу включить это значение в формат экспорта (сейчас это не так).
STEP2: загрузка 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
Спасибо!