Bonjour,
un demi-bruit puisque j'ai besoin de regénérer une base Oracle
(structure et données) à partir d'une base mysql et ce par un prog
Windev
A l'origine, j'étais parti dans la transformation d'un mysqldump, mais
c'est beaucoup trop long.
J'ai donc une procédure qui génère donc maintenant un fichier de
contrôle pour le faire traiter par SQLLoader à partir d'une table
mySQL.
Cela contient la description lOAD DATA INFILE ... puis les DATAs
(BEGINDATA)
séparées par des , et enclosed by " pour les données non numériques.
Cela fonctionne bien à l'exception du cas des champs (type mémo) avec
RC.
Comment faut-il gérer ces scrogneugneu de RC ?
--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Roumegou
Il me manque pas grand chose. J'ai remplacé tous mes rn de mySQL en une balise fictive <RC>. Comment remplacer <RC> par un OD OA dans Oracle. En d'autre terme, quelle syntaxe SQL pour
Select REPLACE(Zone,'<RC>',??) FROM MATABLE pour ?? j'ai essayé chr(13) + chr(10); '{13}{10}', 0x0D0x0A etc mais c'est pas encore ça.
Il se trouve que Roumegou a formulé :
Bonjour, un demi-bruit puisque j'ai besoin de regénérer une base Oracle (structure et données) à partir d'une base mysql et ce par un prog Windev A l'origine, j'étais parti dans la transformation d'un mysqldump, mais c'est beaucoup trop long. J'ai donc une procédure qui génère donc maintenant un fichier de contrôle pour le faire traiter par SQLLoader à partir d'une table mySQL. Cela contient la description lOAD DATA INFILE ... puis les DATAs (BEGINDATA) séparées par des , et enclosed by " pour les données non numériques.
Cela fonctionne bien à l'exception du cas des champs (type mémo) avec RC.
Comment faut-il gérer ces scrogneugneu de RC ?
-- Eric Roumegou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Il me manque pas grand chose. J'ai remplacé tous mes rn de mySQL en
une balise fictive <RC>. Comment remplacer <RC> par un OD OA dans
Oracle. En d'autre terme, quelle syntaxe SQL pour
Select REPLACE(Zone,'<RC>',??) FROM MATABLE
pour ?? j'ai essayé chr(13) + chr(10); '{13}{10}', 0x0D0x0A etc
mais c'est pas encore ça.
Il se trouve que Roumegou a formulé :
Bonjour,
un demi-bruit puisque j'ai besoin de regénérer une base Oracle (structure et
données) à partir d'une base mysql et ce par un prog Windev
A l'origine, j'étais parti dans la transformation d'un mysqldump, mais c'est
beaucoup trop long.
J'ai donc une procédure qui génère donc maintenant un fichier de contrôle
pour le faire traiter par SQLLoader à partir d'une table mySQL.
Cela contient la description lOAD DATA INFILE ... puis les DATAs (BEGINDATA)
séparées par des , et enclosed by " pour les données non numériques.
Cela fonctionne bien à l'exception du cas des champs (type mémo) avec RC.
Comment faut-il gérer ces scrogneugneu de RC ?
--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Il me manque pas grand chose. J'ai remplacé tous mes rn de mySQL en une balise fictive <RC>. Comment remplacer <RC> par un OD OA dans Oracle. En d'autre terme, quelle syntaxe SQL pour
Select REPLACE(Zone,'<RC>',??) FROM MATABLE pour ?? j'ai essayé chr(13) + chr(10); '{13}{10}', 0x0D0x0A etc mais c'est pas encore ça.
Il se trouve que Roumegou a formulé :
Bonjour, un demi-bruit puisque j'ai besoin de regénérer une base Oracle (structure et données) à partir d'une base mysql et ce par un prog Windev A l'origine, j'étais parti dans la transformation d'un mysqldump, mais c'est beaucoup trop long. J'ai donc une procédure qui génère donc maintenant un fichier de contrôle pour le faire traiter par SQLLoader à partir d'une table mySQL. Cela contient la description lOAD DATA INFILE ... puis les DATAs (BEGINDATA) séparées par des , et enclosed by " pour les données non numériques.
Cela fonctionne bien à l'exception du cas des champs (type mémo) avec RC.
Comment faut-il gérer ces scrogneugneu de RC ?
-- Eric Roumegou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Roumegou
Yes ! I've got it ! Des heures que je cherche cela sur le Net et si j'ai trouvé des posts de personnes qui avaient les mèmes problèmes, je n'ai pas trouvé de solutions.
Voilà la mienne s'il y'en a que cela interesse... En fonction de la table mySQL, je génère une requête qui crée une ligne concaténant tous les champs séparés par une ; et encadrés par un " pour les champs texte. Dans cette requete, je convertis les rn en <RC> par la fn REPLACE. Les données de cette requête sont écrits dans le fichier de control après la description. Le truc c'est de reconvertir RC par chr(3)+chr(10) au moment de l'intégration par sqlloader avec ceci ACT_COMM "replace(:ACT_COMM,'<RC>',CHR(13)||CHR(10))",
Car si on laisse les vrais rc, cela plante sqlloader.
Un exemple du fichier control généré par mon outil : -- Génération d 'un fichier de contrôle SQLLoader par TOOL4US -- à partir de la base mySQL -- le 17/04/2004 à 16:00:22:07 -- -- TABLE : ACTION Actions -- -- Pour executer votre sqlloader, veuillez taper sous Dos -- SQLLDR user/ control=C:RAD4USSQLLOADERLOAD_ACTION.CTL log=C:RAD4USSQLLOADERLOAD_ACTION.LOG LOAD DATA INFILE * REPLACE INTO TABLE ACTION FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (ACT_ID,ACT_DESC,ACT_TYPE,ACT_AUTRE, ACT_COMM "replace(:ACT_COMM,'<RC>',CHR(13)||CHR(10))", ACT_DOCSRC,OPE_ID,LVL_ID,DATE_CREAT Date 'YYYY-MM-DD',LOGIN_CREAT, DATE_MODIF Date 'YYYY-MM-DD',LOGIN_MODIF,SRC_CREAT,SRC_MODIF,REF_IMPORT)
BEGINDATA 1,"VAGUE 1",2,"","Envoi du 1er mailing (touches 100%) <RC>4usInfo Libérez vous de toutes vos contraintes informatiques","",39,186,"2004-02-08","CRM4US","2004-02-25","CRM4US","Saisie depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0 2,"VAGUE 2",2,"","Envoi du mailing","",39,186,"2004-02-06","CRM4US","2004-02-08","CRM4US","Dupliquée depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0 3,"VAGUE 3",2,"","Envoi du mailing","",39,186,"2004-02-06","CRM4US","2004-02-08","CRM4US","Dupliquée depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0 4,"CIBLE ANNONCEURS",1,"","","",39,186,"2004-02-25","CRM4US","2004-02-25","","Saisie depuis ACTION_FIC","",0
-- Eric Roumegou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Yes ! I've got it !
Des heures que je cherche cela sur le Net et si j'ai trouvé des posts
de personnes qui avaient les mèmes problèmes, je n'ai pas trouvé de
solutions.
Voilà la mienne s'il y'en a que cela interesse...
En fonction de la table mySQL, je génère une requête qui crée une ligne
concaténant tous les champs séparés par une ; et encadrés par un " pour
les
champs texte. Dans cette requete, je convertis les rn en <RC> par la
fn REPLACE.
Les données de cette requête sont écrits dans le fichier de control
après la description.
Le truc c'est de reconvertir RC par chr(3)+chr(10) au moment de
l'intégration par sqlloader avec ceci
ACT_COMM "replace(:ACT_COMM,'<RC>',CHR(13)||CHR(10))",
Car si on laisse les vrais rc, cela plante sqlloader.
Un exemple du fichier control généré par mon outil :
-- Génération d 'un fichier de contrôle SQLLoader par TOOL4US
-- à partir de la base mySQL
-- le 17/04/2004 à 16:00:22:07
--
-- TABLE : ACTION Actions
--
-- Pour executer votre sqlloader, veuillez taper sous Dos
-- SQLLDR user/passw@YourBASE
control=C:RAD4USSQLLOADERLOAD_ACTION.CTL
log=C:RAD4USSQLLOADERLOAD_ACTION.LOG
LOAD DATA
INFILE *
REPLACE
INTO TABLE ACTION
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(ACT_ID,ACT_DESC,ACT_TYPE,ACT_AUTRE,
ACT_COMM "replace(:ACT_COMM,'<RC>',CHR(13)||CHR(10))",
ACT_DOCSRC,OPE_ID,LVL_ID,DATE_CREAT Date 'YYYY-MM-DD',LOGIN_CREAT,
DATE_MODIF Date
'YYYY-MM-DD',LOGIN_MODIF,SRC_CREAT,SRC_MODIF,REF_IMPORT)
BEGINDATA
1,"VAGUE 1",2,"","Envoi du 1er mailing (touches 100%) <RC>4usInfo
Libérez vous de toutes vos contraintes
informatiques","",39,186,"2004-02-08","CRM4US","2004-02-25","CRM4US","Saisie
depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0
2,"VAGUE 2",2,"","Envoi du
mailing","",39,186,"2004-02-06","CRM4US","2004-02-08","CRM4US","Dupliquée
depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0
3,"VAGUE 3",2,"","Envoi du
mailing","",39,186,"2004-02-06","CRM4US","2004-02-08","CRM4US","Dupliquée
depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0
4,"CIBLE
ANNONCEURS",1,"","","",39,186,"2004-02-25","CRM4US","2004-02-25","","Saisie
depuis ACTION_FIC","",0
--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Yes ! I've got it ! Des heures que je cherche cela sur le Net et si j'ai trouvé des posts de personnes qui avaient les mèmes problèmes, je n'ai pas trouvé de solutions.
Voilà la mienne s'il y'en a que cela interesse... En fonction de la table mySQL, je génère une requête qui crée une ligne concaténant tous les champs séparés par une ; et encadrés par un " pour les champs texte. Dans cette requete, je convertis les rn en <RC> par la fn REPLACE. Les données de cette requête sont écrits dans le fichier de control après la description. Le truc c'est de reconvertir RC par chr(3)+chr(10) au moment de l'intégration par sqlloader avec ceci ACT_COMM "replace(:ACT_COMM,'<RC>',CHR(13)||CHR(10))",
Car si on laisse les vrais rc, cela plante sqlloader.
Un exemple du fichier control généré par mon outil : -- Génération d 'un fichier de contrôle SQLLoader par TOOL4US -- à partir de la base mySQL -- le 17/04/2004 à 16:00:22:07 -- -- TABLE : ACTION Actions -- -- Pour executer votre sqlloader, veuillez taper sous Dos -- SQLLDR user/ control=C:RAD4USSQLLOADERLOAD_ACTION.CTL log=C:RAD4USSQLLOADERLOAD_ACTION.LOG LOAD DATA INFILE * REPLACE INTO TABLE ACTION FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (ACT_ID,ACT_DESC,ACT_TYPE,ACT_AUTRE, ACT_COMM "replace(:ACT_COMM,'<RC>',CHR(13)||CHR(10))", ACT_DOCSRC,OPE_ID,LVL_ID,DATE_CREAT Date 'YYYY-MM-DD',LOGIN_CREAT, DATE_MODIF Date 'YYYY-MM-DD',LOGIN_MODIF,SRC_CREAT,SRC_MODIF,REF_IMPORT)
BEGINDATA 1,"VAGUE 1",2,"","Envoi du 1er mailing (touches 100%) <RC>4usInfo Libérez vous de toutes vos contraintes informatiques","",39,186,"2004-02-08","CRM4US","2004-02-25","CRM4US","Saisie depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0 2,"VAGUE 2",2,"","Envoi du mailing","",39,186,"2004-02-06","CRM4US","2004-02-08","CRM4US","Dupliquée depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0 3,"VAGUE 3",2,"","Envoi du mailing","",39,186,"2004-02-06","CRM4US","2004-02-08","CRM4US","Dupliquée depuis ACTION_FIC","Modifiée depuis ACTION_FIC",0 4,"CIBLE ANNONCEURS",1,"","","",39,186,"2004-02-25","CRM4US","2004-02-25","","Saisie depuis ACTION_FIC","",0
-- Eric Roumegou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)