ORACLE APPROSSIMAZIONE EXTERNAL TABLE

ggg86123

Nuovo Utente
13 Dic 2016
1
0
1
Ciao a tutti.
Sto riscontrando un problema nella gestione di alcuni dati da external table. Ho creato una procedura che legge un file di testo contenetente coppie di numeri caricandoli in una external table. Successivamente vengono effettuate delle operazioni e i risultati vengono caricati su un'altra tabella target. Questa procedimento precedentemente veniva effettutato tramite excel ma ora si è deciso di automatizzare il processo. La procedura creata su oracle risulta esatta, o per lo meno fa quello che deve fare, ma ho alcuni problemi con le approssimazioni dei numeri. Mi spiego meglio:
Il file è composto ad esempio da queste coppie di numeri separati da virgola:
1.23E-018,2.113353456E-011
0,00000001 0,000003
4.8456E-009, 0.000242
1.803E-007, 0.000001234

Quando questi dati vengono caricati su external table vengono approssimati in maniera diversa. Ad esempio il secondo numero della prima coppia diventa 2.11E-11. Chiaramente questo porta ad ottenere ( nell'elaborazione successiva dei dati ) risultati diversi su oracle e su excel. Anche se si tratta di differenze infinitesimali, avrei necessità che siano identici. Gradirei che così come sono scritti i dati sul file venissero caricati in external table. Non mi serve un 2.11E-11 ma un 2.113353456E-11. Ho provato anche tramite toad a togliere la notazione scientifica ma non cambia nulla.
Questo è lo script di creazione della external table:

'CREATE TABLE COEFF_BUSINESS_EXT (
C1 BINARY_DOUBLE,
C2 BINARY_DOUBLE)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY COEFF_BUSINESS_DIR
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
LOGFILE ''COEFF_BUSINESS.log''
BADFILE ''COEFF_BUSINESS.bad''
FIELDS TERMINATED BY '','' (
C1 FLOAT EXTERNAL,
C2 FLOAT EXTERNAL)
)
LOCATION(''COEFF_BUSINESS.txt''))
REJECT LIMIT 0';

Spero qualcuno possa essermi di aiuto. Ve ne sarei davvero grato.