Reports are one of my favorite features. If you don’t use them in SQL Developer, please read this.

The user interface for user defined reports is very simple in SQL Developer. Maybe even, too simple?

Sometimes I tell folks to save and/or copy their reports around. And it’s not exactly apparent how to do this at first glance. Of course, once you’ve done it once, it’s very obvious. As a product manager, sometimes it’s easy to forget what the tool looks like from the outside.

If You Want To Give Someone Else Your Report(s)

Just save it, and have them open it.

I can save a single report, or I can save a report folder.
I can save a single report, or I can save a report folder.

Either way, the output is a single XML file.

If I send that file to someone, all they need to do is in the reports tree, open it where they want the report or reports to go.

If you had saved just the single report, you'll just get the one report. If you saved a folder of reports, or even a folder of reports and nested subfolders - all of that will come over as well.
If you had saved just the single report, you’ll just get the one report. If you saved a folder of reports, or even a folder of reports and nested subfolders – all of that will come over as well.

So if I wanted to give someone this set of reports I created for my KScope14 presentation on SQL Developer Reports, it’s just one click for me, and one click for the person I’m sharing it with.

Moving Reports Around In SQL Developer

You can’t edit the canned reports we ship, but you CAN copy them down to the user defined reports. Or, maybe you want to make a copy of a report and branch it into a new version.

Just copy and paste.

Just what it sounds like...
Just what it sounds like…

Now, where do you want to put it?

I want it to go into this folder, so I'll have said folder selected when I do the 'Paste.'
I want it to go into this folder, so I’ll have said folder selected when I do the ‘Paste.’

And here’s my new report.

Same name - so be sure not to paste it into the same node you copied it from.
Same name – so be sure not to paste it into the same node you copied it from.

All of your reports are saved in one XML file. You can find this file in your OS $USER$ directory. Feel free to play with the underlying XML if you want, but you’re on your own at that point. There is at least a couple of cool tricks you can pull off though 🙂

  1. Adding multi-level child reports
  2. Adding context menus to report rows
Author

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

11 Comments

    • using our sdcli program in your bin folder. i have a post or 2 on using the CLI to do stuff.

  1. I have a question on Reports, would it be possible to have a better “Enter Bind Values” dialog.
    Show the description of the report (only visible for User Defined Reports)
    Better resize of the window, when the Values are too long, …

  2. I’ve got a question about shared reports. Is it possible to update everyones shared folder with the reports I add to the shared folder. So if I create a new report saved in the public map and imported it to my shared folder, everyone else using the shared folder gets it aswel. So not everyone has to import it separetly.

    • Are you sure?
      That’s why they are called Shared Reports.
      Create your report/report folder, right click / save as on a network drive (I think it is possible to specify an url too).
      Every user must add a row in Preferences/Database/User Defined Extensions: Add Row “Report”.
      Restart SQL Dev and voilà, it is available in Shared Reports (read only).
      If the file is updated, the changes will be available to everyone next time they restart.

    • That only works if there is a single maintainer of the shared reports. Otherwise you have to import the “Shared Reports” into your “User Defined Reports”, edit them and save them back to the shared reports location.

    • Yes of course, but at least other users don’t have to import them manually.
      If you want multiuser update, you can use a version control tool.

  3. Lawrence Chettiar Reply

    I have a question on user-defined reports, can they be scheduled to run automatically at a specific intervals and export the data in an excel file in a specific location in my computer.

    • No CLI support for reports > Excel today. For now it’s just HTML

      If you want to schedule an excel export, the closest I could get you is use our new SQLcl interface, and write a query using a CSV format, and spool that output to a file, then schedule that SQLcl session.

  4. And don’t forget Shared reports.

    Save your reports as shown above and place the xml-file where everyone can read it. Whoever wants to use your reports can import them: Tool – Preferences – Database – User Defined Extensions – Add Row
    Type = REPORT
    Location =
    After a new start of SQL Developer they get a new node “Shared Reports”

    The advantage over a simple import is, that they get the newest version of your reports when they start SQL Developer whenever you updated the XML. So a single developer can maintain a group of reports and a lot of people can use them.

Write A Comment