SQLPlus exporter au format CSV (format de sortie de problème)
Je suis confronté à un problème avec un script de l'interface, censé exporter le contenu d'une table d'une base de données ORACLE dans un fichier CSV, qui est ensuite suivie par une importation de ces CSV dans une base de données MYSQL.
ETAPE 1: SQLPlus exporter au format 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;
-> cette étape est de générer le fichier CSV, mais le format semble incorrect, car je peux y trouver des retour chariot dans la sortie.
Aussi, vous allez le voir dans l'étape 2, nous pouvons définir un "JOINT PAR" valeur comment ai-je pu obtenir que l'on inclus dans le format d'exportation (ne semble pas être le cas actuellement).
ÉTAPE 2: MYSQL charge
LOAD DATA INFILE 'mycsvfile' REPLACE INTO TABLE `mt_feature`
FIELDS TERMINATED BY '|'
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n';
Ce script a dû être reconstruit pour des raisons techniques et Mysql partie n'a pas été modifié et fonctionne bien avec un bon fichier CSV à importer.
Le problème semble venir de la que SQLPlus à l'exportation, où je dois admettre que je n'ai pas beaucoup de connaissances sur. Je devrais peut-être utiliser une autre méthode pour obtenir ces fichiers générés?
S'il vous plaît laissez-moi savoir si vous avez besoin de plus de détails, j'ai l'impression d'être aveugle...
Script en cours d'exécution sur oracle 10g, Linux, Mysql 4.x
Merci!
OriginalL'auteur Laurent | 2011-01-28
Vous devez vous connecter pour publier un commentaire.
SET LINESIZE 0
n'est pas valide, la valeur doit être comprise entre 1 et 32767. Donc, j'imagine que c'est l'emballage le contenu par défaut à la ligne de longueur, qui est de 80 à moins que vous avez déjà mis dans unglogin
script.OriginalL'auteur Alex Poole
Si vous préfixe toutes les lignes de code avec (au moins) quatre espaces alors ça va être correctement mis en forme, par exemple,
Dirait que vous devez remplacer intégré caractères de saut de ligne dans les données stockées....
Et je ne suis pas sûr que sur la définition de la linesize à 0.
c'est génial de travailler avec le code que vous avez fourni!! Merci beaucoup
OriginalL'auteur symcbean