2012-01-26 15 views

risposta

7

È possibile utilizzare lo strumento di esportazione di Oracle: exp

Edit:

exp name/[email protected] file=filename.dmp tables=tablename rows=y indexes=n triggers=n grants=n 
+3

expdp (datapump esportazione) sta sostituendo exp. Sarà più veloce e offre più funzionalità, come il parallelismo e la compressione. – llayland

0

Si può facilmente farlo utilizzando il modulo Python e cx_Oracle. Lo script Python estrae i dati su disco in formato CSV.

Ecco come ci si connette a Oracle utilizzando Python/cx_Oracle:

constr='scott/[email protected]:1521/ORCL12' 
con = cx_Oracle.connect(constr) 
cur = con.cursor() 

Dopo recuperare i dati è possibile scorrere la lista Python e salvare i dati in formato CSV.

for i, chunk in enumerate(chunks(cur)): 
    f_out.write('\n'.join([column_delimiter.join(row[0]) for row in chunk])) 
    f_out.write('\n') 

Ho usato questo approccio quando ho scritto TableHunter-For-Oracle

+0

Se CSV è il requisito, è sufficiente utilizzare la marcatura CSV in sqlplus. – BobC

+0

true, ma avevo uno script che crea un file per tabella. Ho pensato che fosse perfetto. – olekb

Problemi correlati