Frage : PL/SQL Export-Tabellendaten zu .csv archivieren und speichern; Excel innerhalb PL/SQL und der Last gespeicherten .csv Akte starten

Ich verwende PL/SQL (nicht SQL*PLUS).

I möchten die gesamte Tabelle exportieren und sie wie eine .csv Akte using PL/SQL Code speichern. (I, das Oracle 9i. leitet) möchten
I Excel starten und Excel die gespeicherte .csv Akte (ohne es in Excel öffnen manuell zu müssen), using PL/SQL code.

I using den Spule-Befehl versucht, aber es scheint, dass Spule ein SQL*PLUS-only Befehl ist, da ich ihm nicht an work.

My vorhandene Codelöschungen alle Aufzeichnungen gelangen kann von der Tabelle, dann die resultierenden Aufzeichnungen von einer AUSERWÄHLTEN Frage in das table.
I würde eher nicht müssen mit der Schaffung eines Verfahrens oder der Funktion herum täuschen, um dies zu tun einsetzt. Ich wünsche einfach einen .csv Export zu einem Dateinamen meiner Wahl, dann sobald er (auf meinem lokalen Rechner, nicht dem Bediener) gespeichert wird, wünsche ich den Code Excel starten und die .csv Akte öffnen, die ich gerade speicherte. Ich möchte den Index addieren, um dies zu tun, das der Beendigung der Probe meines Indexes below.

I folgt, habe gelesen einige Anmerkungen, dass dieses mit ODBC getan werden kann oder ALT, aber die Beispiele, die genannt werden, sind langatmig und verwirrend, wie die Beispiele, die ich das Handeln dies gesehen habe, indem ich ein Verfahren verursachte.  Ich kümmere mich nicht, irgendwelche Ansätze zu verwenden, aber ich habe keine Idee, wie man sie kodiert oder andere Oracle-Wahlen wenn notwendig gründet, um sie zu erhalten, um zu arbeiten. Ich schließe an Oracle die Datenbank mit einem vorhandenen ODBC Anschluss an, wenn dieses matters.

It so ist eine ziemlich direkte Aufgabe (und zweifellos nicht ein ungewöhnliches) scheint, aber nach dem Ablesen einiger Antworten auf EE und AskTom, ich nichts nicht finden kann dieses works.
---------------------------------------
Table Name: KSEND
Here ist ein Auszug des EINSATZ-Indexes:

INSERT IN KSEND
(AUSERWÄHLTE EINDEUTIGE f.alpha_5,
f.alpha_6,
f.ss_num,
ersetzen (f.last_name, „,“, '') als last_name,
ersetzen (f.first_name, „,“, '') als first_name,
f.middle_initial,
f.birth_date,
f.gender_cd,
f.marital_stat_cd,
ersetzen (f.addr_1, „,“, '') als addr_1,
ersetzen (f.addr_2, „,“, '') als addr_2,

--gefolgt von 18 weiteren Feldern---

VON employee_copy f, system_lookup r
, WO (f.emp_stat_cd = „A“ AND
(f.alpha_6 = „NORM“ ODER f.alpha_6 = „IMPR ") AND
f.decimal_2 IST NICHT) UNGÜLTIG);

Antwort : PL/SQL Export-Tabellendaten zu .csv archivieren und speichern; Excel innerhalb PL/SQL und der Last gespeicherten .csv Akte starten

Das CSV zu einer Akte auf dem Dateisystem des Datenbankbedieners zu speichern ist using UTL_FILE recht direkt.

Sie wirklich nicht sogar benötigen die Temptabelle.

Das auserwählte using Schnur concatinations einfach kodieren:

Verfahren my_proc verursachen oder ersetzen
ist
sein


für i innen (auserwähltes eindeutiges f.alpha5 || „,“ || f.alpha_6 || „,“ ||  f.ss_num… als myRow von…) Schleife
      utl_file.put_line (i.myRow);

Endenschleife;

Ende;
/

Ich weiß nicht von einer Weise, Excel von PL/SQL gerade zu starten.  Sie konnten in der Lage sein, ein Java-gespeichertes Verfahren zu verursachen, um dies zu tun.

Ich annehme h, dass Sie irgendeine Art der Anwendungsschnittstelle haben, die das gespeicherte Verfahren durchführt, um das CSV zu verursachen.  Kann das einen OS-Anruf ein Programm nicht starten lassen?
Weitere Lösungen  
 
programming4us programming4us