Showing posts with label Fusion BIP Reports. Show all posts
Showing posts with label Fusion BIP Reports. Show all posts

Tuesday, September 1, 2026

Fusion Query Studio: Run SQL queries against Oracle Fusion from within VS Code

If you are a developer or a power user who has spent real time in building queries, reports or even troubleshooting data in Oracle Fusion, you are already know that there's no easy way to run a SQL query against Fusion database and see the results. The only out-of-the-box way is to create a data model in BI Publisher and test your queries, lookup and analyze the data.
This is because Fusion is SaaS and we don't get a database connection like other on-prem systems might be able to provide; but this limitation slows us down since we have to go through multiple steps just to query the data.

I'd been wondering what if there's a simple tool that lets you connect to Fusion environments, run your queries against it and simply see the results. A simple basic framework that just works.

I'd been working on building such a solution and it's now live for everyone to use.

Introducing Fusion Query Studio - A VS Code extension that lets you connect to a Fusion environment and run your queries against it from within the editor.


Fusion Query Studio features

Multiple saved connections: Store your multiple Fusion environments (Dev, Test, and Prod etc.) side by side with passwords encrypted in the Windows Credential Vault.

Live results table: The results table provides features such as sort by columns, null values highlighting etc.

Query history: The extension stores your last 50 queries automatically. You can access them from Query History panel and re-run without retyping it.

Simple CSV export: Export the query results to a file with a single click.

AI Chat integration: Ask VS Code's native AI Chat (GitHub Copilot) to build and run a query for you through the extension. AI will ask/tell you which connection it used, show you the actual SQL it built, and it will run it in background using the Fusion Query Studio extension and present you the results. You can also copy-paste the AI-generated query in the Query Editor panel, run it and see the results in the results panel.

SSO-based login: This feature is not available in the current version but it's on the roadmap.


Getting Started

1. Install the extension:

Search for Fusion Query Studio in VS Code Marketplace  and Install the extension



Install:



2. Launch the extension:

You'll see the Fusion Query Studio icon show up in the activity bar on the left side of VS Code.



3. Add a connection: 

In the Connections panel, click the + button.



Follow the 4 step wizard and provide below details:

Connection name: Connection name of your choice.



Base URL: Your Fusion environment's URL. e.g. https://fa-ebfa-dev1.us1234.oraclecloud.com


If you want to use Basic Authentication, select Basic Auth method:



Username: User name of the account under which the SQL queries will be executed.



Password: Password of the above user. This gets encrypted and stored in the Windows Credential Vault. It's never written to disk in plaintext.



You will see a confirmation that says the connection is saved.


If you want to use Single sign-on (SSO) method, select SSO method:



You will be presented with a browser pop-up and will be taken to the login page of your Fusion POD. Login using your SSO credentials, as you usually do to login to your Fusion environment:


Once the login is successful, the browser window will be automatically closed and you will see a confirmation message in the VS Code:




Please Note: In case you see an error message that says 'Could not verify/deploy utility report', then you may need to verify a few things:

- Verify if your connection details are correct (Base URL, Username and Password)
- Verify that the User account you are using has roles/permissions to create/execute BI publisher reports.



4. Test the connection:

Click ▶ icon in front of your connection name (Fusion_Dev in my example) to test the connection.



If there are no errors, we should see the confirmation message.




5. Edit / Delete the connection:

You can Edit or Delete the connection by clicking the respective icons in front of your connection name.

Edit:


Delete:


6. Open the Query Panel:

Click Open Query Panel icon ▶ in the toolbar to open the Query Panel. This is the most easy and common way to access the query panel.

Optionally, you can run the command Fusion Query Studio: Open Query Panel from the Command Palette (Ctrl+Shift+P) to do the same.

From Toolbar:




From Command Palette:



You should be presented with the Query Panel as shown below:



7. Run a query: Select the desired connection from drop-down, write your SQL in the top panel and hit the Run button (or press Ctrl+Enter).This will execute your SQL query and present the results to you in the results panel.



Things to remember:

- You can control how many rows come back by adjusting the Limit value.

- Please skip the trailing semicolon. Don't end your query with ;

- Click Cancel to stop any running query.

- Adjust the divider between the editor and the results pane to resize it.


8. Let AI Chat write the query for you:

Open VS Code's built-in AI Chat (using GitHub Copilot) and describe your requirements. Fusion Query Studio seamlessly plugs into the AI Chat of VS Code.
It will ask you which saved connection to use, will build the query and show it to you before running it,  and finally present you the results.

- Describe the requirements of your query and ask it to run it using using Fusion Query Studio:



- Review the Connection details, verify the query and allow AI Chat to run the query using Fusion Query Studio:



- AI Chat will show you the entire query, run it against the selected connection and show you the results:

Query:


 Results:



- You can also copy the AI-generated query and run it manually in the Fusion Query Studio

Copy the query:



Paste it in Query Panel:



Run the query and see the results:



- You can click on CSV button to download the query result in a CSV format



- Query History panel stores your last 50 queries. You can click on any of them and they will be automatically pasted in Query Panel so that you can rerun without rewriting them.





Try it out

If you're building against Oracle Fusion Cloud environments and you're constantly following multi-step process in BI Analytics, just to test your query or validate the data - give Fusion Query Studio a shot. It's available for free on the VS Code Marketplace. If you run into anything or have ideas for what it should do next, please reach out to me at amodjjoshi@gmail.com. Happy Querying 😊


Share:

Tuesday, July 7, 2026

How to transfer Oracle Fusion BIP Report output to OCI Object Storage using OIC

Out of the box, BIP offers delivery channels such as Email, SFTP etc., but there is no native integration to push report output directly to an OCI Object Storage bucket. This becomes a real limitation in many cloud architectures where Object Storage serves as a central landing zone for downstream processing.

Let's see how we can bridge this gap. We can use BIP report scheduling in conjunction with OIC Object Storage adapter capabilities to automate the end-to-end flow from report generation to bucket delivery in just a few easy steps. In this blog, I will walk through the end to end process of transferring BIP report output files to OCI Object Storage using Oracle Integration Cloud (OIC). This process mainly consists of three main components:
 
- Configuring the OIC SFTP server as a BIP delivery destination

- Running Fusion BIP reports with SFTP as the destination

- Building an OIC integration that moves files from SFTP to OCI Object Storage

 

Now, let's see the step by step process to establish this automation.

Configure OIC SFTP Server as a BIP Destination

 

1.1  Gather OIC SFTP Server Details

Obtain the following connection details from your OIC SFTP server:

Required OIC SFTP Details


- Host or IP Address

- Port

- Username

- Private Key 


- Open Command prompt on your machine (cmd)

- Execute below command to generate a SSH Private+Public Key Pair on your machine

ssh-keygen -t rsa -m PEM


It will ask for a target folder where the keys will be created. Just press enter for passphrase (empty).



- Navigate to the target folder and ensure the keys are generated





- Now navigate to your OIC instance

- Go to Settings -> File Server -> Settings

 -> 


- Make sure your SFTP server status is Running

- Note down IP and Port



- Navigate to Users

- Identify the desired User and make sure it's enabled



- Open the User

- Upload the Public key (generated in previous step)



 

1.2  Upload the Private Key in BI Administration


- Login to Oracle Fusion environment

- Go to BI Analytics area by navigating to /analytics URL

- Navigate to:  BI Administration -> Manage Publisher -> Upload Center




- Upload the private key file obtained in the previous step.



1.3  Add the SFTP Server in BI Publisher Delivery Settings


- Let's navigate to:  Delivery -> FTP



- Add a new server entry using the OIC SFTP connection details.

- Enter the same username as configured in OIC File Server configuration

- Enter the Host and Port copied from OIC File Server configuration

- Select Private Key as Authentication Type and select the uploaded Key file from the dropdown

- Make sure to check 'Use Secure FTP' check-box





Click Test Connection to verify, then Save.

Run BIP Reports with SFTP Destination in Fusion

 

Please note that no modifications are required to existing Fusion BIP report definitions.

 

2.1  Submit the BIP Report

When submitting a BIP report, set the Destination Type to the OIC SFTP server configured in Step 1.



2.2  Monitor the ESS Job

Submitting the report automatically triggers an ESS (Enterprise Scheduler Service) job that runs the report and places the output file on the OIC SFTP server.

 

Configure OCI Object Storage User

 

Identify or create a dedicated bucket user in OCI to write files to Object Storage.


- Navigate to Identity & Security

- Go to Domains -> User Management

- Create a dedicated user you wish to use to give access to the object storage



3.1  Set User Permissions

Ensure the user has write permissions to the target bucket.

- Once the user is created, add it to a dedicated group so that we can apply the required policies on the same.

- Create a new policy and add below statement to grant the access to manage Object Storage

Allow group <group name> to manage objects in compartment <compartment_name> where any {request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ', request.permission='OBJECT_CREATE'}




 

3.2  Gather OCI Credentials

Collect the following details for the OCI user:


Required OCI Credentials


- API Key

- User OCID

- Tenancy OCID

- Fingerprint

- Private Key

 
- Navigate to the newly created user

- Go to API Keys Section

- Click Add API Key



- Select "Generate API key pair" option

- Click Download Private Key (Optionally also download Public Key)



- Click Add

- Here, you will be presented with the Configuration file preview. Make sure to save this information as will need this in the next steps (to be used in OIC)


- We will obtain below information from above steps:

  - User OCID
  - Fingerprint
  - Tenancy OCID
  - Region
  - Private Key file


Build the OIC Integration

 

4.1  Create an OIC SFTP Connection


- Create a new SFTP connection in OIC using the details from Step 1.

- The details we will use include the SFTP server Host, Username and the Private Key file for that user.






4.2  Create an OCI Object Storage Connection


- Create a new OCI Object Storage connection using the credentials gathered in Step 3.

- The details we will use include the Connection URL for the Object Storage, User OCID, Tenancy OCID, Fingerprint and the Private Key file.





4.3  Configure Integration Parameters

Now, let's build a simple integration to accept the following input parameters:

Integration Input Parameters


- SFTP File Path: This would be the source path on the OIC SFTP server


- SFTP Archive File Path: This would be the destination path to move processed files


- File Name Pattern: This would be the pattern to match files (e.g. *.csv)


- Namespace: OCI Object Storage namespace


- Bucket Name: OCI Object Storage Bucket Name

 



4.4  Integration Logic


The integration performs the following actions in sequence:

  • FTP Invoke:
    This part will use the SFTP connection to retrieve files matching the given name pattern from the source path on the OIC SFTP server.

  • PUT to Object Storage:
    This part will use the OCI Object Storage connection to copy the retrieved files to the specified bucket.

  • Archive:
    This part will move the processed files to the archive folder on the OIC SFTP server.

 

 

Sample Run

 

5.1  Populate Integration Parameters


- Trigger the integration with values appropriate for your use case:


5.2  Verify Successful Completion


- Confirm the integration run completed successfully:

 

 

Verify Results

 

6.1  Target — OCI Object Storage


- Confirm the output file has been copied to the specified OCI Object Storage bucket:



6.2  Source — OIC SFTP Archive

- Confirm the source file has been moved to the archive folder on the OIC SFTP server:



In conclusion, a simple configuration where BIP report submits the files to SFTP and OIC delivers them to Object Storage can help us establish this automation. Once configured, the whole process runs on its own for any report submission.

Share: