Exporter Des Donnees De Tables Oracle Vers Excel ?
Citation:
Bonjour,
Je travaille sur une base ORACLE 10g.
Je souhaite exporter des données venant des tables de cette base vers un fichier Excel.
Pourriez-vous SVP m'indiquer comment faire ?
Je vous remercie par avance
Exporter des données d'ORACLE vers EXCEL
Bonjour,
Merci à tous pour vos réponses. Je vais tester toutes vos solutions.
Bonne journée
ou se trouve le fichier csv créé
Citation:
Envoyé par laurentschneider
un petit bout de code en PL/SQL que je me suis amusé à écrire pour produire un fichier au format CSV
Code:
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
|
create or replace procedure CSV(query varchar2) is
curid NUMBER;
desctab DBMS_SQL.DESC_TAB;
colcnt NUMBER;
namevar VARCHAR2(4000);
begin
curid := dbms_sql.open_cursor;
dbms_sql.parse(curid, query, dbms_sql.NATIVE);
DBMS_SQL.DESCRIBE_COLUMNS(curid, colcnt, desctab);
FOR i IN 1 .. colcnt LOOP
DBMS_SQL.DEFINE_COLUMN(curid, i, namevar,4000);
END LOOP;
if DBMS_SQL.execute(curid) = 0 THEN
FOR i IN 1 .. colcnt LOOP
if (i>1) then
dbms_output.put(';');
end if;
dbms_output.put(desctab(i).col_name);
END LOOP;
dbms_output.new_line;
WHILE DBMS_SQL.FETCH_ROWS(curid) > 0 LOOP
FOR i IN 1 .. colcnt LOOP
if (i>1) then
dbms_output.put(';');
end if;
DBMS_SQL.COLUMN_VALUE(curid, i, namevar);
if (namevar is not null)
then
dbms_output.put(namevar);
end if;
END LOOP;
dbms_output.new_line;
END LOOP;
END IF;
end;
/
execute csv('select * from emp');
EMPNO;ENAME;JOB;MGR;HIREDATE;SAL;COMM;DEPTNO
7369;SMITH;CLERK;7902;17-DEC-80;800;;20
7499;ALLEN;SALESMAN;7698;20-FEB-81;1600;300;30
7521;WARD;SALESMAN;7698;22-FEB-81;1250;500;30
7566;JONES;MANAGER;7839;02-APR-81;2975;;20
7654;MARTIN;SALESMAN;7698;28-SEP-81;1250;1400;30
7698;BLAKE;MANAGER;7839;01-MAY-81;2850;;30
7782;CLARK;MANAGER;7839;09-JUN-81;2450;;10
7788;SCOTT;ANALYST;7566;19-APR-87;3000;;20
7839;KING;PRESIDENT;;17-NOV-81;5000;;10
7844;TURNER;SALESMAN;7698;08-SEP-81;1500;0;30
7876;ADAMS;CLERK;7788;23-MAY-87;1100;;20
7900;JAMES;CLERK;7698;03-DEC-81;950;;30
7902;FORD;ANALYST;7566;03-DEC-81;3000;;20
7934;MILLER;CLERK;7782;23-JAN-82;1300;;10 |
Bonjour,
Après avoir créée la procedure csv , et après avoir executé la procedure avec une requête comme argument, j'ai ça comme message: "Procédure PL/SQL terminée avec succès." Où est mon fichier? Comment faire pour y accéder? Je suis débutant et je ne trouve pas dans le code que vous avez écrit la destination ou le nom du fichier de sortie.
ps:J'utilise une base de données oracle. Ma procédure a bien été stockée dans la base.
Merci d'avance.