Uso del SQL*Loader

Minogui
20 de Abril del 2004
Tengo una base de datos en SQL server 2000 y pertende exportarla a Oracle 9i con SQL Loader pero no se usar esta herramienta. Donde esta la bases su plataforma es Windows 2000 server y donde se dejará es Unix (tru64 con RAC 9i Release 2.0.1). Gracias de antemano.

Jhon
20 de Abril del 2004
Hola lo primero tienes que llevar tu base a un archivo plano el cual tiene extension dat, luego te tienes que crear un archivo con extension CFT, por si acaso si tienes dudas estoy con el messenger

Jorge
20 de Abril del 2004
Siga os seguintes passos:
Gerar en archivo de texto(.txt) los datos que contienen las tablas en una carpeta, supongamos C:DBImport
Copiar en el directorio :OracleOra81bin los archivos de control.
teniendo el archivo de control (.ctl), en éste se da formato a los datos que se desea ingresar a la base de datos, ejemplo de ctl
load data
infile 'c:DbImportnlago.txt'
into table NLAGO
( DATANIV POSITION (01:8) "to_date(:dataniv, 'YYYYMMDD')",
HORANIV POSITION (10:13) char(4),
NIVEL POSITION (17:22) decimal external
)

luego en entorno D.O.S. ejecutar el SQLLDR, que se encuentra dentro del directorio de OracleOra81bin pasando como parámetros el usuario, la clave y la cadena de conneción.

Microsoft Windows 2000 [Versão 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

D:OracleOra81bin>sqlldr usuario/passw@bd
todo el proceso de migración queda registrado en el archivo .log por ejemplo:
7884 Rows successfully loaded.
12 Rows not loaded due to data errors.
0 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Space allocated for bind array: 1536 bytes(64 rows)
Space allocated for memory besides bind array: 0 bytes
Total logical records skipped: 0
Total logical records read: 7896
Total logical records rejected: 12
Total logical records discarded: 0

Run began on Fri Oct 03 09:39:54 2003
Run ended on Fri Oct 03 09:40:05 2003
Elapsed time was: 00:00:10.82
CPU time was: 00:00:00.02
si hubiera algún error durante la migración esto queda registrado en el archivo .bad que genera el SQL*Loader en el directorio Bin

Por defecto inserta, hasta que encuentre 50 errores, si queremos aumentar, es como sigue:
archivos de control:

D:OracleOra81bin>sqlldr user/id@db control=archivo.ctl errors=1000

luego de correr todos los archivos de control, lo que hicimos fue cargar todas las tablas del Oracle.

Lalo Miranda
20 de Abril del 2004
generate archivos txt tranfierelos a unix en formato ascii y luego parametriza el sql loader para que tome dichos txt y suba los datos al oracle