JAY_Fisi Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Hallo Gibt es die Möglichkeit von einer Oracle Datenbank Tabellen nach Excel oder Access zu exportieren? Das ganze sollte per Skript realisiert werden.... Wäre supi wenn mir da jemand Tipps zu geben könnte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
1226 Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Einfach ein Flatfile erstellen und dort die Inhalte durch Delimiter getrennt reinschreiben. SET HEADING OFF SET NEWPAGE NONE SET FEEDBACK OFF SPOOL exp_file.txt SELECT spalte1 || ',' || spalte2 FROM tabelle; SPOOL OFF Der Import geht vermutlich mit VB-Script. Da können andere aber sicher mehr zu sagen. Ich kann nur UNIX-Shellprogramierung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JAY_Fisi Geschrieben 15. Dezember 2005 Autor Teilen Geschrieben 15. Dezember 2005 Hm....sorry habe noch was vergessen: Und zwar sollten die Tabellen erst irgendwo gesichert werden auf nem Band oder nem anderen Server etc...und dann in Excel exportiert werden:confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
1226 Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 ? Was hindert dich daran, exp aufzurufen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JAY_Fisi Geschrieben 15. Dezember 2005 Autor Teilen Geschrieben 15. Dezember 2005 Hab ehrlichgesagt keinerlei Ahnung von Oracle.... Kann also auch nicht nachvollziehen was exp ist? ...soll aber ein Skript schreiben was die Tabellen erst sichert und dann automatisch nach Access/Excel exportiert.... geht das mit exp? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
johnhaltonx Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Exp erstellt ein dmp-File, das format ist aber nicht unbedingt Excel kompatibel... Da Excel aber gut mit CSV-Dateien klarkommt... HIer die PL/SQl Lösung, müßte ab 8i funktionieren (benötigt aber ein UTL-File Directory wo es die Datei hinschreiben kann--> DB-Admin fragen) create or replace function dump_csv( p_query in varchar2, p_separator in varchar2 default ',', p_dir in varchar2 , p_filename in varchar2 ) return number is l_output utl_file.file_type; l_theCursor integer default dbms_sql.open_cursor; l_columnValue varchar2(2000); l_status integer; l_colCnt number default 0; l_separator varchar2(10) default ''; l_cnt number default 0; begin l_output := utl_file.fopen( p_dir, p_filename, 'w' ); dbms_sql.parse( l_theCursor, p_query, dbms_sql.native ); for i in 1 .. 255 loop begin dbms_sql.define_column( l_theCursor, i, l_columnValue, 2000 ); l_colCnt := i; exception when others then if ( sqlcode = -1007 ) then exit; else raise; end if; end; end loop; dbms_sql.define_column( l_theCursor, 1, l_columnValue, 2000 ); l_status := dbms_sql.execute(l_theCursor); loop exit when ( dbms_sql.fetch_rows(l_theCursor) <= 0 ); l_separator := ''; for i in 1 .. l_colCnt loop dbms_sql.column_value( l_theCursor, i, l_columnValue ); utl_file.put( l_output, l_separator || l_columnValue ); l_separator := p_separator; end loop; utl_file.new_line( l_output ); l_cnt := l_cnt+1; end loop; dbms_sql.close_cursor(l_theCursor); utl_file.fclose( l_output ); return l_cnt; end dump_csv; / Schreibt den output eines beliebigen Selects in ein flat-file. allerdings noch direkt, also ohne kopie, wozu braucht ihr denn die kopie ? Ansonsten vorher noch ein create table backup_table as select.....(dein select) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
1226 Geschrieben 15. Dezember 2005 Teilen Geschrieben 15. Dezember 2005 Das geht natürlich nicht mit exp, da die dabei erzeugten Dumps nur von Oracle und nicht von Office-Produkten gelesen werden können. Wenn es einfach nur um die Sicherung bestimmter Daten auf Band geht, dann ist exp das Mittel der Wahl. Für den Import nach Excel erzeugst du ein (oder mehrere) Flatfiles (mit dem o.g. SQL) und öffnest diese(s) Datei(en) in Office. Wird die Sicherung nur für den Import benötigt? Oder zu späteren Wiederherstellung in der Datenbank? Edit: johnhaltonx drängelt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JAY_Fisi Geschrieben 15. Dezember 2005 Autor Teilen Geschrieben 15. Dezember 2005 Danke Ich versuch das mal so Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.