Questione : I dati della tabella dell'esportazione di PL/SQL a .csv archivano e risparmiano; lanciare Excel all'interno di PL/SQL e della lima di .csv conservata carico

Sto usando PL/SQL (non SQL*PLUS). il

I vuole esportare l'intera tabella e conservarlo come una lima di .csv using il codice di PL/SQL. (I che dirige Oracle 9i.) il
I vuole lanciare Excel e fare caricare Excel la lima conservata di .csv (senza dovere manualmente aprirlo in Excel) using PL/SQL code.

I hanno provato using l'ordine di bobina, ma sembra che la bobina sia un ordine di SQL*PLUS-only poiché non posso ottenergli alle cancellazioni attuali di codice di work.

My tutte le annotazioni dalla tabella, quindi inserisca le annotazioni risultanti da una domanda PRESCELTA nel table.
I piuttosto non abbia dovuto imbrogliare intorno con la generazione una procedura o della funzione per fare questo. Voglio semplicemente un'esportazione di .csv ad un nome di schedario della mia scelta, quindi, una volta che è conservato (sulla mia macchina locale, non sull'assistente), voglio il codice lanciare Excel ed aprire la lima che di .csv ho conservato appena. Vorrei aggiungere lo scritto per fare questo che segue il completamento del campione del mio scritto below.

I ho letto alcune osservazioni che questo può essere fatto con ODBC o OLE, ma gli esempi forniti sono lunghi e confusionari, come sono gli esempi che ho veduto fare questo generando una procedura.  Non mi occupo di usando qualcuno di questi metodi, ma non ho idea come codificarli, o installare altre opzioni di Oracle se necessario, per convincerle per funzionare. Collego ad Oracle la base di dati con un collegamento attuale di ODBC, se quel matters.

It sembra come questo è un'operazione piuttosto diretta (e certamente non insolita), ma dopo la lettura delle un certo numero risposte sull'EE e AskTom, io non può trovare qualche cosa quel works.
---------------------------------------nome del
Table: KSEND
Here è un brano dello scritto dell'INSERTO:

INSERT in KSEND
(f.alpha_5 DISTINTI PRESCELTI, il
f.alpha_6, il
f.ss_num, il
sostituiscono (f.last_name, “,„, '') come last_name, il
sostituiscono (f.first_name, “,„, '') come first_name, il
f.middle_initial, il
f.birth_date, il
f.gender_cd, il
f.marital_stat_cd, il
sostituiscono (f.addr_1, “,„, '') come addr_1, il
sostituiscono (f.addr_2, “,„, '') come addr_2, il

--seguito da 18 nuovi campi---

dalla f employee_copy, r
dello system_lookup DOVE (f.emp_stat_cd = “A„ AND
(f.alpha_6 = “NORMA„ O f.alpha_6 = “IMPR ") AND
f.decimal_2 NON È NULLO));
class= del

Risposta : I dati della tabella dell'esportazione di PL/SQL a .csv archivano e risparmiano; lanciare Excel all'interno di PL/SQL e della lima di .csv conservata carico

Conservando il CSV ad una lima sul file system dell'assistente di base di dati è abbastanza diretto using UTL_FILE.

Realmente neppure non avete bisogno della tabella del temp.

Codificare appena il prescelto using i concatinations della stringa:

generare o sostituire il my_proc di procedura
è
essendo


per la i dentro (f.alpha5 distinto prescelto || “,„ || f.alpha_6 || “,„ ||  f.ss_num… come myRow da…) ciclo
      utl_file.put_line (i.myRow);

ciclo dell'estremità;

estremità;
/

Non so di un senso lanciare Excel diritto da PL/SQL.  Potreste potere generare una procedura immagazzinata del Java per fare questo.

Sto presupponendo che avete certa specie dell'interfaccia di applicazione che eseguirà la procedura immagazzinata per generare il CSV.  Non può quello fare una chiamata di OS per varare un programma?
Altre soluzioni  
 
programming4us programming4us