› Fóruns › Banco de dados Oracle › [Resolvido] Campo Date em External Table
- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 16 anos, 1 mês atrás por
LucianoRM.
-
AutorPosts
-
31 de março de 2010 às 10:49 pm #93467
LucianoRM
ParticipanteOlá pessoal,
Não estou achando um meio de fazer campos tipo Date funcionar em uma external table.
O resto está funcionando, se tiro os valores dos campos data o “select” roda sem problemas.
A data está no arquivo no formato “dd/mm/yyyy”, o log de erros retorna ORA-01843: não é um mês válido.
O arquivo de teste tem dois registros e as datas desses registros são: ;02/02/2005; e ;03/06/2005;, o que achei estranho, pois no formato americano essas datas seriam válidas, mesmo que invertidos dia e mês.Segue abaixo parte do script de criação da tabela (sem todos os campos pra diminuir o tamanho do post):
create table TAB_EXTERNA
(
CD_CONHE NUMBER(6),
DTEMIS DATE,
VEICULO VARCHAR2(1),
PLACA VARCHAR2(10),
FREEMP NUMBER(9,2),
DTRECE DATE,
DTRECI DATE
)
ORGANIZATION EXTERNAL
(
type oracle_loader
default directory ext_tab
access parameters
( records delimited by newline
fields terminated by ‘;’)
location(‘tabela.csv’)
)Por favor, desconsiderem qualquer erro de digitação.
Já tentei soluções dos seguintes links:
http://asktom.oracle.com/pls/asktom/f?p … 1962171229
http://download.oracle.com/docs/cd/B193 … ncepts.htm
http://www.adp-gmbh.ch/ora/misc/ext_table_2.html
http://blog.lishman.com/2008/03/oracle- … ables.htmlObrigado,
—
Luciano Rodrigues31 de março de 2010 às 11:51 pm #93475diegolenhardt
ParticipanteCREATE TABLE bank_hol_ext(
hol_desc VARCHAR2(50),
hol_2007 DATE,
hol_2008 DATE,
hol_2009 DATE
)
ORGANIZATION EXTERNAL
(TYPE oracle_loader
DEFAULT DIRECTORY tmp_dir
ACCESS PARAMETERS(
records delimited BY newline
load when (hol_2007 != BLANKS)
badfile log_dir:’bank_holidays.bad’
logfile log_dir:’bank_holidays.log’
discardfile log_dir:’bank_holidays.dsc’
skip 1
fields terminated by ‘t’
optionally enclosed by ‘”‘
missing field values are null
[b](
hol_desc,
hol_2007 DATE “dd/mm/yy”,
hol_2008 DATE “dd/mm/yy”,
hol_2009 DATE “dd/mm/yy”
)[/b]
)
LOCATION(‘hols.txt’))
REJECT LIMIT UNLIMITED;1 de abril de 2010 às 1:03 am #93483LucianoRM
ParticipanteMuito obrigado Diego, agora funcionou, eu até tinha feito assim mas estava colocando os outros campos com seus respectivos tipos, retirei esses tipos e fiz como no seu exemplo para os campos data.
[]’s
Luciano Rodrigues -
AutorPosts
- Você deve fazer login para responder a este tópico.
› Fóruns › Banco de dados Oracle › [Resolvido] Campo Date em External Table