I’m lazy. If I can drive a screw with my cordless drill in 5 seconds vs 60 seconds, but have to walk to the garage to get it, I’ll pick the drill over the screwdriver every time. Probably because after I’m finished with that screw, my foreman will walk over and decide she wants the wall ornament moved a few micrometers to the left.

I think the best developers are lazy. I say this, but I’m pretty sure I stole it from someone else – developers don’t write code, they write code that writes code.

So what does any of this have to do with SQL Developer?

If my tool touches a file – ok that sounds a little weird – there’s a good chance I’m going to go need to inspect it afterwards. Maybe I’m saving a file, creating a new one, or inspecting the contents of a blob record. The point is, I absolutely HATE having to dive into Explorer or Finder (yes, I used Windows and OSX) and hunt for that file. I often forget if I saved it to my desktop or put in My Documents or if it got saved to the dreaded TEMP directory.

So now in version 3.1 of SQL Developer, whenever you interact with a file via a the OS file browser, SQL Developer logs that file and lets you open it directly without having to leave SQL Developer and go hunting for it later!

You need the Early Adopter 3 release of v3.1 to access this feature. Go download that already!

I export my query results to XLS

So after I hit the ‘Export’ control, I need to choose a file for it to write to, like so

Pick a file, any file!

The file chosen here gets logged in the SQL Developer Log panel. Note if you manually type a filepath and filename int a dialog, that does not currently get logged (YET!)

See the files you’ve touched

There’s a new pane in the Log panel labeled ‘File.’ If you click on the filename, SQL Developer will attempt to open it. You will need to make sure your External Editor preferences specify the program you want used for each file type.

Here’s what it looks like:

Click on the file to open it

So I can now dive into that handy PDF I just created and proof it before I send it over to the boss. That’s going to save me about 10-15 seconds every time I do something file-related. And that’s what we’re all about here, saving you time! Well, that and taking over the world.


I'm a Distinguished Product Manager at Oracle. My mission is to help you and your company be more efficient with our database tools.


  1. yes i did that but i have created an interface table from which i need to load the data to a base table. so there are additional columns in my interface table name status and error message i need to update the status as processed or error and if error is there then i need to show the error in the error column. while i m loading the data from sql loader i want the columns to be automatically updated.how to do that?

    • what you’re describing screams ‘trigger!’ – just make sure you don’t run sqlldr in direct mode, as that bypasses INSERT triggers

    • thanks Jeff for your help it worked for me 🙂

    • Make sure the log and bad file names are specified in your sqlldr bat script file. This will give you a log of the session and the rows that did NOT make it into your table(s).

  2. how to set the status of the query whether it is executed successfully(for each row) or not and get the error message from log file and insert into the table after the data is loaded by sql developer

Write A Comment