Bonjour,
Je souhaite exporter des table oracle en format .txt pour alimenter une base mysql
Je ne connais que l'utilitaire EXP
Merci de me répondre
Bonjour,
Je souhaite exporter des table oracle en format .txt pour alimenter une base mysql
Je ne connais que l'utilitaire EXP
Merci de me répondre
Toutes les réponses à tes questions sont ici
pas vraiment ...
exp ne permet pas de décharger des données dans un fichier plat !!!
il n'y d'ailleurs pas d'utilitaire oracle qui fasse cela .
tu dois créer une petite procédure via le package UTL_FILE. ce pakage permet d'écrire dans un fichier plat à partir de PL/SQL --> vi un curseur tu lis les records de ta table et via UTL_FILE.PUT_LINE, tu écris rows dans un fichier .
fais une recherche sur ce package, tu trouveras certainement un exemple ; sinon, on en créera un ensemble (mais pour l'instant, je n'en ai malheureusement pas le temps)
bonne chance
marc
Merci pour vos infos.
J'ai extrait les tables via Sqlplus
Je vous remercie, je vais étudier la méthode plus pro énoncée par Marc Musette.
Encore merci
Tu as parfaitement raison j'ai fait une lecture trop rapide et je me suis trompé sorryEnvoyé par Marc Musette
Pour un export avec utl_file, voici un petit bout de code en exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118 spool exp_utl prompt 'export blabla' set serveroutput on DECLARE -- Declaration des variables err_num number; err_msg varchar2(200); wobs varchar2(200); -- Observation wout utl_file.file_type; -- type de fichier genere wrep_fic varchar2(255) := null; -- repertoire d'ecriture wnom_fic varchar2(255) := null; -- fichier d'ecriture wligne varchar2(250); -- ligne à insérer dans le fichier cursor c_lst is select champs1, chamsp2 from matable; BEGIN --Definition des parametres du fichier wobs := 'Rech rep'; wrep_fic := '/doss1/doss2'; wnom_fic := 'Lst_exp_utl.csv'; wobs := 'Ouverture du fichier.doc'; wout := utl_file.fopen(wrep_fic, wnom_fic, 'w'); wobs := 'Ligne d''entête'; wligne := 'champs 1'||';'||'champs 2'; utl_file.put_line(wout,wligne); wobs := 'Ecriture des lignes dans fichier'; for r_lt in c_lst loop wobs := 'Build ligne'; wligne := r_lt.champs1||';'||champs2; wobs := 'Ecriture de la ligne dans fichier'; utl_file.put_line(wout,wligne); end loop; wobs := 'Fermeture du fichier'; utl_file.fclose(wout); dbms_output.put_line('nb acteur csv = '||to_char(wcnt_act)); EXCEPTION when utl_file.invalid_operation then dbms_output.put_line('obs : ' ||wobs); utl_file.fclose(wout); err_num := SQLCODE; err_msg := SUBSTR(SQLERRM, 1, 60); -- si le fichier est ouvert, on le ferme if utl_file.is_open(wout) = TRUE then utl_file.fclose(wout) ; end if ; raise_application_error(-20001,'ERREUR:'|| err_msg); when utl_file.invalid_filehandle then dbms_output.put_line('obs : ' ||wobs); utl_file.fclose(wout); err_num := SQLCODE; err_msg := SUBSTR(SQLERRM, 1, 60); -- si le fichier est ouvert, on le ferme if utl_file.is_open(wout) = TRUE then utl_file.fclose(wout) ; end if ; raise_application_error(-20001,'ERREUR:'|| err_msg); when utl_file.write_error then dbms_output.put_line('obs : ' ||wobs); utl_file.fclose(wout); err_num := SQLCODE; err_msg := SUBSTR(SQLERRM, 1, 60); -- si le fichier est ouvert, on le ferme if utl_file.is_open(wout) = TRUE then utl_file.fclose(wout) ; end if ; raise_application_error(-20001,'ERREUR:'|| err_msg); when others then dbms_output.put_line('obs : ' ||wobs); err_num := SQLCODE; err_msg := SUBSTR(SQLERRM, 1, 60); -- si le fichier est ouvert, on le ferme if utl_file.is_open(wout) = TRUE then utl_file.fclose(wout) ; end if ; raise_application_error(-20001,'ERREUR:'|| err_msg); END; / show err spool off
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager