¿Es sqlldr la abreviatura de sql loader?
Se enumeran tres introducciones comunes de Sqlldr en Internet
1: Características del cargador de SQL
Oracle ha traído muchas herramientas que se pueden utilizar para el procesamiento de datos, migración y copia de seguridad. y tareas de recuperación. Pero cada herramienta tiene sus propias características.
Por ejemplo, exp e imp pueden exportar y exportar datos en la base de datos. Es una buena herramienta de copia de seguridad y recuperación de bases de datos, por lo que se utiliza principalmente en copias de seguridad y recuperación en caliente de bases de datos. Tiene las ventajas de alta velocidad, uso simple y rápido, pero también tiene algunas desventajas, como exportar e importar entre diferentes versiones de bases de datos, siempre habrá problemas de un tipo u otro. Esto puede deberse a la compatibilidad de los propios productos de Oracle. Es una cuestión de sexo.
La herramienta de carga SQL no tiene este problema. Puede importar sin problemas algunos datos almacenados en formato de texto a la base de datos Oracle. Es una forma muy conveniente y conveniente de migrar datos entre diferentes bases de datos. La desventaja es que es relativamente lento y un poco problemático para blobs y otros tipos de datos.
Dos: ayuda del cargador sql
C:\>sqlldr
SQL*Loader: Versión 9.2.0.1.0 - Producción el sábado 9 y 14 de octubre :48:12 2004
Copyright (c) 1982, 2002, Oracle Corporation. Todos los derechos reservados.
Uso: SQLLDR palabra clave=valor [,palabra clave=valor,...]
Palabras clave válidas:
id de usuario -- nombre de usuario/contraseña de ORACLE
control -- nombre del archivo de control
log -- nombre del archivo de registro
malo -- Nombre de archivo incorrecto
datos -- Nombre de archivo de datos
descartar -- Descartar nombre de archivo
descartarmax - - Número de descartes para permitir (predeterminado para todos)
skip - Número de registros lógicos para omitir (predeterminado 0)
cargar - Número de registros lógicos para cargar (predeterminado para todos)
errors - Número de errores a permitir (predeterminado 50)
filas - Número de filas en la matriz de enlace de ruta convencional o entre datos de ruta directa
saves
(Predeterminado: ruta convencional 64, todas las rutas directas)
bindsize - Tamaño de la matriz de enlace de ruta convencional en bytes (predeterminado 256000)
silent - - Suprimir mensajes durante la ejecución (encabezado, comentarios, errores, descartes, particiones)
directo: use la ruta directa (FALSO predeterminado)
parfile - - archivo de parámetros: nombre del archivo que contiene la especificación de parámetros
s
paralelo -- hacer carga paralela (por defecto FALSO)
archivo -- Archivo para asignar extensiones from
skip_unusable_indexes - no permitir/permitir índices o particiones de índice inutilizables (predeterminado
FALSO)
skip_index_maintenance - no mantener índices, marcar los índices afectados como unus
able (predeterminado FALSO)
readsize: tamaño del búfer de lectura (predeterminado 1048576)
external_table: usa una tabla externa para la carga;
OT_USED, GENERATE_ONLY, EXECUTE(
NOT_USED predeterminado)
columnarrayrows - Número de filas para la matriz de columnas de ruta directa (predeterminado 5000)
streamsize - Tamaño de buffer de flujo de ruta directa en bytes (predeterminado 256000)
multiproceso: use multiproceso en la ruta directa
resumable: habilite o deshabilite la reanudación para la sesión actual (predeterminado FALSO)
resumable_name: cadena de texto para ayudar a identificar la declaración reanudable
resumable_timeout: tiempo de espera (en segundos) para RESUMABLE (predeterminado 7200)
date_cache: tamaño (en entradas) de caché de conversión de fecha (predeterminado 1000)
TENGA EN CUENTA: los parámetros de la línea de comando se pueden especificar por posición o palabras clave
. Un ejemplo del primero es 'sqlload
scott/tiger foo'; un ejemplo del segundo es 'sqlldr control=foo
userid=scott/tiger'. Parámetros especificados posicionalmente. el tiempo debe ser antes
pero no después del argumento especificado por la palabra clave. Por ejemplo,
'sqlldr scott/tiger control=foo logfile=log' está permitido, pero
'sqlldr scott/tiger control=foo log' no está permitido, aunque
La posición del parámetro 'log' es correcta.
C:\>
Tres: ejemplo de uso del cargador SQL
a) SQLLoader exporta datos de Excel a Oracle
1. Los archivos necesarios para que SQL*Loader ingrese datos se guardan en C:\ y se editan con el Bloc de notas:
Archivo de control: input.ctl, el contenido es el siguiente:
cargar datos - - 1. Identificación del archivo de control
infile 'test.txt' --2 El nombre del archivo de datos que se ingresará es test.txt
agregar a la tabla test --3. Para probar la tabla Agregar registros en
campos terminados en X'09' --4 Campos terminados en X'09', que es un carácter de tabulación (TAB)
(id. , nombre de usuario, contraseña, sj) -----Defina la secuencia correspondiente de columnas
a, insertar, que es el método predeterminado, requiere que la tabla esté vacía cuando comienza la carga de datos
b, agregar, en la tabla Agregar nuevos registros en
c, reemplazar, eliminar registros antiguos y reemplazarlos con registros recién cargados
d, truncar, igual que arriba
Usar SQL en la ventana de DOS *El comando del cargador implementa la entrada de datos
C:\>sqlldr userid=system/manager control=input.ctl
El registro predeterminado El nombre del archivo es: input.log
El archivo de registro incorrecto predeterminado es: input.bad
2. Hay otra forma
Puede guardar el archivo EXCEL. como CSV (separado por comas) (*.csv), archivo de control Solo use comas para separarlos
CARGAR DATOS
INFILE 'd:\car.csv'
AÑADIR A LA TABLA t_car_temp
CAMPOS TERMINADOS POR ","
(phoneno,vip_car)
b) Importar datos directamente en el archivo de control
1. Contenido del archivo de control test.ctl
-- El formato para ejecutar este archivo con SQL Loader es:
-- SQLLDR control=
-- versión de SQL LOADER y el nombre de este archivo.
LOAD DATA
INFILE *
BADFILE 'C:\Documentos y configuraciones\Jackey\Desktop\WMCOUNTRY.BAD '
DESCARTAR ARCHIVO 'C:\Documentos y configuraciones\Jackey\Desktop\WMCOUNTRY.DSC'
INSERTAR EN LA TABLA EMCCOUNTRY
Campos terminados en ";" Opcionalmente encerrados en '"'
(
COUNTRYID NULLIF (COUNTRYID="NULL"),
CÓDIGO DE PAÍS,
NOMBRE DEL PAÍS,
p>CONTINENTID NULLIF (CONTINO
NTID="NULL"),
MAPID NULLIF (MAPID="NULL"),
CREATETIME DATE "MM/DD/AAAA HH24:MI:SS" NULLIF (CREATETIME=" NULL"),
LASTMODIFIEDTIME DATE "MM/DD/AAAA HH24:MI:SS" NULLIF (LASTMODIFIEDTIME="NULL")
)
BEGINDATA
1;"JP";"Japón";1;9;"16/09/2004 16:31:32";NULL
2;"CN";"China" ;1;10;"16/09/2004 16:31:32";NULL
3;"IN";"India";1;11;"16/09/2004 16:31: 32";NULL
4;"AU";"Australia";6;12;"16/09/2004 16:31:32";NULL
5;"CA ";"Canadá";4;13;"16/09/2004 16:31:32";NULL
6;"US";"Estados Unidos";4;14;"09/16 /2004 16:31:32";NULL
7;"MX";"México";4;15;"16/09/2004 16:31:32";NULL
8;"GB";"Reino Unido";3;16;"16/09/2004 16:31:32";NULL
9;"DE";"Alemania";3; 17;"16/09/2004 16:31:32";NULL
10;"FR";"Francia";3;18;"16/09/2004 16:31:32"; NULL
11;"IT";"Italia";3;19;"16/09/2004 16:31:32";NULL
12;"ES";" España";3;20;"16/09/2004 16:31:32";NULL
13;"FI";"Finlandia";3;21;"16/09/2004 16: 31:32";NULL
14;"SE";"Suecia";3;22;"16/09/2004 16:31:32";NULL
15; "IE";"Irlanda";3;23;"16/09/2004 16:31:32";NULL
16;"NL";"Países Bajos";3;24;"09/ 16/2004 16:31:32";NULL
17;"DK";"Dinamarca";3;25;"16/09/2004 16:31:32";NULL
18;"BR";"Brasil";5;85;"30/09/2004 11:25:43";NULL
19;"KR";"Corea, República de" ;1;88;"30/09/2004 11:25:43";NULL
20;"NZ";"Nueva Zelanda";6;89;"30/09/2004 11:25 :43";NULL
21;"BE";"Bélgica";3;79;"30/09/2004 11:25:43";NULL
22;" AT";"Austria";3;78;"30/09/2004 11:25:43";NULL
23;"NO";"Noruega";3;82
;"30/09/2004 11:25:43";NULL
24;"LU";"Luxemburgo";3;81;"30/09/2004 11:25:43";NULL
25;"PT";"Portugal";3;83;"30/09/2004 11:25:43";NULL
26;"GR";"Grecia ";3;80;"30/09/2004 11:25:43";NULL
27;"IL";"Israel";1;86;"30/09/2004 11:25 :43";NULL
28;"CH";"Suiza";3;84;"30/09/2004 11:25:43";NULL
29;" A1";"Proxy anónimo";0;0;"30/09/2004 11:25:43";NULL
30;"A2";"Proveedor de satélite";0;0;"09 /30/2004 11:25:43";NULL
31;"AD";"Andorra";3;0;"09/30/2004 11:25:43";NULL
32;"AE";"Emiratos Árabes Unidos";1;0;"30/09/2004 11:25:43";NULL
33;"AF";"Afganistán" ;1;0;"30/09/2004 11:25:43";NULL
34;"AG";"Antigua y Barbuda";7;0;"30/09/2004 11: 25:43";NULL
35;"AI";"Anguila";7;0;"09/30/2004 11:25:43";NULL
36; "AL";"Albania";3;0;"30/09/2004 11:25:43";NULL
37;"AM";"Armenia";3;0;"09/ 30/2004 11:25:43";NULL
38;"AN";"Antillas Holandesas";3;0;"30/09/2004 11:25:43";NULL
39;"AO";"Angola";2;0;"09/30/2004 11:25:43";NULL
40;"AP";"Región Asia/Pacífico ";2;0;"30/09/2004 11:25:43";NULL
41;"AQ";"Antártida";8;0;"30/09/2004 11:25 :43";NULL
42;"AR";"Argentina";5;0;"30/09/2004 11:25:43";NULL
43;" AS";"Samoa Americana";6;0;"30/09/2004 11:25:43";NULL
44;"AW";"Aruba";5;0;"09/ 30/2004 11:25:43";NULL
45;"AZ";"Azerbaiyán";1;0;"30/09/2004 11:25:43";NULL
46;"BA";"Bosnia y Herzegovina";3;0;"30/09/2004 11:25:43";NULL
47;"BB";"Barbados"; 5;0;"30/09/2004 11:25:43";NULL
48;"BD";"Bangladesh";1;0;"30/09/2
004 11:25:43";NULL
49;"BF";"Burkina Faso";2;0;"30/09/2004 11:25:43";NULL
50;"BG";"Bulgaria";3;0;"30/09/2004 11:25:43";NULL
51;"BH";"Bahrein";1;0 ;"30/09/2004 11:25:43";NULL
52;"BI";"Burundi";2;0;"30/09/2004 11:25:43";NULL
53;"BJ";"Benín";2;0;"30/09/2004 11:25:43";NULL
54;"BM";"Bermudas ";4;0;"30/09/2004 11:25:43";NULL
55;"BN";"Brunei Darussalam";1;0;"30/09/2004 11: 25:43";NULL
56;"BO";"Bolivia";5;0;"30/09/2004 11:25:43";NULL
57; "BS";"Bahamas";7;0;"30/09/2004 11:25:43";NULL
58;"BT";"Bután";1;0;"09/ 30/2004 11:25:43";NULL
59;"BV";"Isla Bouvet";5;0;"30/09/2004 11:25:43";NULL
60;"BW";"Botswana";2;0;"09/30/2004 11:25:43";NULL
61;"BY";"Bielorrusia";3 ;0;"30/09/2004 11:25:43";NULL
2. Ejecute el comando de importación
C:\>sqlldr userid=system/manager control=test ctl
c) Importación de formatos complejos
Sqlldr
El cargador SQL puede importar sin problemas algunos datos almacenados en formato de texto en la base de datos Oracle. p>
Es una herramienta muy conveniente y versátil para la migración de datos entre diferentes bases de datos.
La desventaja es que es relativamente lenta y un poco problemática para blobs y otros tipos de datos.
Uso: palabra clave SQLLDR=valor [,palabra clave=valor,...]
Palabras clave válidas:
ID de usuario -- nombre de usuario/contraseña de ORACLE
control – archivo de control
registro – archivo de registro grabado
malo – archivo de datos incorrectos
datos – archivo de datos
descartar: archivos de datos descartados
discardmax: datos descartados máximos permitidos (todos los valores predeterminados)
omitir: número de registros lógicos a omitir (valor predeterminado 0)
p>load -- Número de registros lógicos para cargar (predeterminado para todos)
errores – Número de registros de error permitidos (predeterminado 50)
filas -- Número de filas en el enlace de ruta convencional matriz o entre datos guardados de ruta directa
(Número de registros enviados cada vez, predeterminado: ruta convencional 64, todas las rutas directas)
bindsize: tamaño de la matriz de enlace de ruta convencional en bytes (predeterminado 256000)
El tamaño del búfer para cada registro enviado (en bytes, predeterminado 256000)
silencioso: prohíbe la información de salida (encabezado, comentarios, errores, descartes, particiones)
directo: utilice la ruta directa para importar (predeterminado FALSO)
parfile -- archivo de parámetros: nombre del archivo que contiene las especificaciones de los parámetros
paralelo -- Paralelo importar (predeterminado FALSO)
archivo: archivo para asignar extensiones
Usado en pares con bindsize, el más pequeño se ajustará automáticamente al más grande
sqlldr primero calcula la longitud de un solo registro y lo multiplica por filas. Si es menor que el tamaño de enlace, no intentará expandir las filas para llenar el tamaño de enlace. Si lo excede, prevalecerá el tamaño de enlace.
external_table
-- usa tabla externa para cargar NOT_USED, GENERATE_ONLY, EXECUTE (predeterminado NOT_USED)
columnarrayrows
-- Número de filas para la matriz de columnas de ruta directa (predeterminado 5000)
streamsize -- Tamaño del búfer de flujo de ruta directa en bytes (predeterminado 256000)
multithreading
-- use subprocesos múltiples en la ruta directa
resumable: habilite o deshabilite la reanudación para la sesión actual (predeterminado FALSO)
resumable_name
: cadena de texto para ayudar a identificar la declaración reanudable
resumable_timeout
-- tiempo de espera (en segundos) para RESUMABLE (predeterminado 7200)
date_cache -- tamaño (en entradas) de la caché de conversión de fecha (predeterminado 1000)
Nota: Hay dos formas de especificar parámetros de línea de comando: por posición o por palabra clave. Ejemplo del primero: 'sqlldr scott/tiger foo';
Ejemplo del segundo: 'sqlldr control=foo userid=scott/tiger';
No puedes usar palabras clave delante para especificar lo siguiente: métodos mixtos especificados por ubicación;
Por ejemplo: 'sqlldr scott/tiger control=foo logfile=log' está permitido,
pero 'sqlldr scott/tiger control'. =foo log' No permitido.
Para mayor claridad, es mejor especificar todos los parámetros de la línea de comando utilizando palabras clave.
Archivo de control:
Un archivo de script para comandos de control, que generalmente termina en ctl, con el siguiente contenido:
CARGAR DATOS
INFILE 't.dat' archivo a importar
// INFILE 'tt.date' para importar múltiples archivos
// INFILE * significa que el contenido a importar está debajo del El archivo de control BEGINDATA va seguido del contenido importado
INTO TABLE nombre_tabla especifica la tabla cargada
BADFILE 'c:\bad.txt' Opcional, especifica la dirección del archivo incorrecto, el valor predeterminado es directorio actual Genera un archivo .bad con el mismo nombre que el archivo original
****************** Las siguientes son 4 formas de cargar la tabla
AGREGAR la tabla original Si hay datos, agréguelos al final
INSERT carga una tabla vacía Si la tabla original tiene datos, sqlloader detendrá el valor predeterminado
TRUNCATE Si el contenido especificado es el mismo que reemplazar, la instrucción truncar se utilizará para eliminar los datos existentes
****************** Especifique el delimitador
CAMPOS TERMINADOS POR ',' OPCIONALMENTE ENCERRADOS POR '"'
/ / TERMINADO POR WRITESPACE separado por espacios en blanco
TRAILING NULLCOLS se permite estar vacío cuando los campos de la tabla no tienen valores correspondientes
********** ***** Los siguientes son los campos de la tabla
(
col_1, col_2,col_filler FILLER // Palabra clave FILLER de esta columna Los valores no se cargarán p>
// Por ejemplo: lg,lg,not result lg lg
)
Si los CAMPOS TERMINADOS POR ',' no están declarados, se puede lograr la misma función de las dos formas siguientes:
1. Especifique el delimitador de cada columna
(
col_1 [interger externo] TERMINADO POR ',' ,
col_2 [fecha "dd-mon-yyy"] TERMINADO POR ',' ,
col_3 [char] TERMINADO POR ',' OPCIONALMENTE ENCERRADO POR 'lg'
)
2. Cargar datos con campos que indican la posición
(
posición col_1(1:2),
posición col_2(3:10),
col_3 position(*:16), // La posición inicial de este campo es la posición final del campo anterior
col_4 position(1:16),
col_5 position( 3: 10) char(8) //Especifica el tipo de campo
)
BEGINDATA corresponde al INFILE inicial * El contenido a importar está en el archivo de control
10 ,Sql,what
20,lg,show
asp.net llama a archivos bat y ctl para implementar la función de sql*loader
1 Llamar archivo bat en segundo plano
Dim proc As System.Diagnostics.Process
proc = System.Diagnostics.Process.Start("cmd.exe", " /c " & "D:\execise\SE004.bat")
proc.WaitForExit()
o
Shell("cmd.exe /c D:\execise\SE004.bat", AppWinStyle.NormalFocus)
O
Atenuar p como nuevo System.Diagnostics.Process
'p.StartInfo.FileName = "cmd.exe"
'p.StartInfo .Arguments = " /c " & "D:\execise\SE004.bat"
'p.StartInfo.UseShellExecute = False
'p.StartInfo.RedirectStandardInput = True p>
'p.StartInfo.RedirectStandardOutput = True
'p.StartInfo.RedirectStandardError = True
'p.StartInfo.CreateNoWindow = False
'p.Start()
'Dim strValue As String = p.StandardOutput.ReadToEnd()
2 Luego llame al archivo ctl, archivo bat
SQLLDR USERID=spv3/paper@san CONTROL=d:\execise\SE004.CTL log=D:\execise\LOG\SE004.log
3, el contenido del archivo ctl es el siguiente
CARGAR DATOS
INFILE 'D:\execise\SE004.CSV'
TRUNCAR
EN LA TABLA TEMP_tableName
CAMPOS TERMINADO POR ", "
NULLCOLS FINALES
(
id
,edad
,num p>
,sum
)
4. Los archivos de datos están separados por comas