Domanda

Ho una data multilinea e mi piacerebbe inserirlo in un tavolo.Quindi, naturalmente, mi piacerebbe recuperarlo mentre conserva i luoghi dei ritorni della cartuccia.

ad esempio.Ho dati come questo nel file di testo

-------------------------------
| ID  |   text                |
|     |                       |
| 01  |  This is headline.    |
| 02  |  This is all the text.|
|     |  ¤                    |
|     |  Of great story once  |
| 03  |  Great weather        |
-------------------------------
.

¤ è l'indicatore del ritorno della cartuccia.Quando provo a eseguire la query, quindi i dati vengono come questo:

-------------------------------
| ID  |   text                |
|     |                       |
| 01  |  This is headline.    |
| 02  |  This is all the text.|
| 03  |  Great weather        |
-------------------------------
.

Cosa mi piacerebbe avere nella tabella: (Non ho idea di come mostrare il ritorno della cartuccia nell'esempio seguente)

-----------------------------------------------------
| ID  |   text                                      |
|     |                                             |
| 01  |  This is headline.                          |
| 02  |  This is all the text. Of great story once  |
| 03  |  Great weather                              |
-----------------------------------------------------
.

che è ovviamente sbagliato come i dati per ID 02 non è stato importato completamente.

Ecco il mio script:

LOAD DATA
INFILE "file.txt" BADFILE "file.bad" DISCARDFILE "file.dsc"
APPEND
INTO TABLE text_table
FIELDS TERMINATED BY X'7C' TRAILING NULLCOLS
(
    employee_id,           
    exp_pro CHAR(4000)
)
.

Qualche idea?

È stato utile?

Soluzione

Prima assicurarsi che il problema non sia con il modo in cui stai visualizzando i dati (o l'IDE utilizzato).A volte gli spettatori si fermano semplicemente a un lineme (o ritorno in carrozza o ad alcuni char binari).

Prova a scaricare prima una rappresentazione esagonale di alcuni dati.Ad esempio:

with txt as (
select 'This is line 1.' || chr(13) || chr(10) || 'Line 2.' as lines
from dual
)
select dump(txt.lines, 16) from txt;
.

Dovresti essere in grado di vedere i caratteri 0D0A (CRLF), o qualunque altro carattere "non stampabile" esiste, se presente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top