Hola compañeros,
verán, tengo un problema al intentar importar unos datos q se encuentran en un archivo de texto (.txt), les presento a continuacion lo que tengo por el momento para la importacion:
Utilizo un archivo llamado: ctl_import_transactions.ctl, con lo siguiente:
Código:
LOAD DATA
INFILE 'C:\Migrador de Datos\Datos Descomprimidos\Datos Exportados\Transactions.txt'
BADFILE 'C:\Migrador de Datos\Datos Descomprimidos\Datos Exportados\Transactions.bad'
INTO TABLE MIGRA_TRANSACTIONS
APPEND
FIELDS TERMINATED BY ';'
TRAILING NULLCOLS
(IDCOMPANIA,DATELOCALTRANS,DATESTAMP,PRIMARYACCTNUM,DATEEXPIRED,ADQ,RESPONSECODE,RESPONSE,AUTHNUMBER,TERMINALID,SWITCHTO,COMPORT,AMOUNTTRANS,RESPONSETIME,POSENTRYMODE,NETWORKIDENTIFIER,CARDACQID,TRANSACTIONTYPE,COMISIONADQ,LOTE,ALTERNATECARDACQID,REVERSED,CONCELEC,CONCPDV,PAYSTATUS,COMPRDEPOSITO,REFNO,RRN,PRODUCTCODES,SECONDCARDACQID,ALTERNATETERMINALID,SETTLEDATE,NUMERO_ADQUIRENTE,HOSTID,FEC_ENT,IND_CAMARA,FECHA_CAMARA,TRANSACCION_NO_PAGADA,CURRENCY,PROCESSINGCODE)
En la ventana de comandos ejecuto el archivo de control con la siguiente línea:
sqlldr '[usuario]/[password]@[BD]' CONTROL='C:\Migrador de Datos\ctl_import_transactions.ctl', DATA='C:\Migrador de Datos\Datos Descomprimidos\Datos Exportados\Transactions.txt' rows=1000
* [usuario], [password] y [BD] en realidad contienen los datos que utilizo, los pongo asi a modo de ejemplo simplemente
Ahora al ejecutar la instrucción, no me lanza errores y me despliega unos mensajes como el siguiente:
Commit point reached - logical record count 24
Commit point reached - logical record count 48
Commit point reached - logical record count 72
mi duda es qué significa ese error exactamente, porque no guarda los datos en la tabla de destino.
Por cierto, olvidé agregar lo q indica el archivo ctl_import_transactions.log:
Record 1: Rejected - Error on table MIGRA_TRANSACTIONS, column IDCOMPANIA.
Field in data file exceeds maximum length
Record 3: Rejected - Error on table MIGRA_TRANSACTIONS, column IDCOMPANIA.
Field in data file exceeds maximum length
Record 4: Rejected - Error on table MIGRA_TRANSACTIONS, column IDCOMPANIA.
Field in data file exceeds maximum length
Asi unas 51 veces más despliega el mismo mensaje. Y al final indica:
ORA-01722: invalid number
Lo que me parece extraño es que en la tabla Oracle, IDCOMPANIA es un campo INTEGER y los datos son todos enteros.
Gracias por su ayuda, saludos.