You are on page 1of 2

What is SQL* Loader?

SQL*loader is one of the Oracle tool which will be used to transfer the data from Flat-File to oracle Database table.

We can find the fallowing files in SQL*loader 1. Flat or Data File 2. Control File 3. Bad File 4. Discard File 5. Log File

Flat Or Data File: This file contains the records in a special format; these records will be fetching for other legacy. The extension of these files might be .dat, .txt, or .csv (comma separated view).

Control File: This is SQL loader execution file, which will be used to transfer the date from file to table. In side of these control file, we will mention the Data file path, table name, column mapping. The extension of control file is .ctl Control File Creation: Load data INFILE Data File Path INSERT INTO Table Name FIELD TERMINATED BY , WHERE deptno = 10 TRAILING NULL COLS (column1 , empno column2, ename column3, deptno)

Once we develop the control file we will execute this by using fallowing command C:\> sqlldr user/passward @ Database Control = name of control file (with extension .ctl) This command will start the control file execution, and it will try to read the data and inserting into table. After completion of this execution, automatically three files will gets created Bad file Discard file Log file

Bad File: Bad file contain the records, which are rejected by the SQL*loader. SQL*loader will

reject the records, when ever the Flat file format is not correct or if any internal error occurs it will rejected. The extension of bad file is .bad

Discard File: Discard file contains the records which are rejected by the control file, control file reject the records, if record is not satisfying the conditions, which we have mentioned inside of control files the extension of discard file is .dis

Logfile: It contains the complete info of the process, like no of records successfully loaded in to the table No of records successfully loaded in to the bad file & discard file. And where the bad, discard file gets created and time taken to complete the process. Taking the complete log. SQL* Loader Modes: INSERT APPEND REPLACE We can replaced the data in to the table by using any one of the allowing method INSERT: When we are using this statement, table should be empty. SQL * loader will insert the new data form the file. APPEND: This mode will be use to attach the new record to the existing records. REPLACE: This will replace the existing records with new records. C:\> sqlldr userid/passward@Database control=text1.ctl path=direct SQL* Loader Paths: We can execution SQL* loader in two paths or nodes Direct Conventional By default SQL*loader will be running in conventional mode, if we want to run in direct mode will use the fallowing syntax C:\> sqlldr userid/passward@Database control=text1.ctl path=direct Direct mode will disable the table and column constrains and it will insert the data. Conventional path will check every constrains, if it is satisfied it will insert the record Conventional path is just like insert statement SQL Commands Limitations: to_date, to_char, upper, lower, Initcap, string, decode, nvl when clause sequence_name.next_value, Ref-Cursor sysdate, ltrim, rtrim, constant

You might also like