UTL_FILE is an package for reading or writing files. SQL Loader is a tool to load files into the database. Since UTL_FILE functions can also read files, either could be used to load data. which one to choose depends on your requirement. If a simple load, choose loader, if you want to process your text file or do something more complex before loading, use utl_file. SQl loader commands are pretty extensive to suit most of your needs.