Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
Steve_Lang
New Member

Oracle Server Down

I'm using Power BI to monitor multiple oracle environments for payrolls. The problem comes when one of the environments is down and the transfer of data from all environments stops.

I'm using Report server.


Is it possible to ignore an environment when it's down but still connect to the other environments, cheers for any help

Hi have tried a lightweight check

= try Oracle.Database(OraEnv, [Query="SELECT 1 FROM DUAL"]) otherwise null

 

Where OraEnv is the Oracle server.

And i still get the error message.
DataSource.Error: Oracle: ORA-12541: TNS:no listener
Details:
DataSourceKind=Oracle
DataSourcePath=******
Message=ORA-12541: TNS:no listener
ErrorCode=-2147467259

I know the server is offline and i should not be able to connect, but i don't want the fact that this one server is down stop the monitoring of the other servers.

I can't see anything in Report Server to set ignore if errored.

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @Steve_Lang ,

 

I continued to test and found that the TestForError step should deepen into the table, otherwise it returns False even though the service is available.

TestForError = try Source[<One table name in your database>],

 

Best Regards,
Gao

Community Support Team

 

If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

How to get your questions answered quickly --  How to provide sample data in the Power BI Forum

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

Hi @Steve_Lang ,

 

Please try the logic shared in the blog:

Chris Webb's BI Blog: Returning Error Messages As Well As Results In Power Query

The data source I'm testing with is SQL Server database, but that shouldn't affect the final result.

let
  //Connect to SQL Server
  Source = Sql.Database("localhost", "AdventureWorksDW2019"), 
  //Get DimDate table
  dbo_DimDate = Source{[Schema = "dbo", Item = "DimDate"]}[Data], 
  //Remove all other columns except EnglishDayNameOfWeek
  #"Removed Other Columns" = Table.SelectColumns(dbo_DimDate, {"EnglishDayNameOfWeek"}), 
  //Get distinct values from this column
  #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns"), 
  //Output in case of error
  AlternativeOutput = #table(type table [EnglishDayNameOfWeek = text], {}), 
  //Does the Removed Duplicates set error?
  TestForError = try #"Removed Duplicates", 
  Output = 
    if TestForError[HasError] then
      //In case of error return empty table
      //and attach error message in metadata
      (AlternativeOutput meta [message = TestForError[Error]])
    else
      //If there’s no error
      //just return the table plus a message
      (#"Removed Duplicates" meta [message = "Query executed successfully"])
in
  Output

I've turned off the service here.

vcgaomsft_0-1733453821383.png

We can find the returned error in the metadata.

vcgaomsft_1-1733453868118.png

Finally based on it you can control the output.

 

Best Regards,
Gao

Community Support Team

 

If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

How to get your questions answered quickly --  How to provide sample data in the Power BI Forum

HI,

It seems to error when calling Oracle.Database(...)


let
Source = Oracle.Database("..server.."),
TestForError = try Source,
Output =
if TestForError[HasError] then
Table.FromRecords({}, {..Field names..})
else
let
Source2 = Oracle.Database("..server..", [Query="..SQL..", HierarchicalNavigation=true]),
#"Changed Type" = Table.Transf... etc
#"Final Transformation" = Table.AddCol..
in
#"Final Transformation"
in
Output

I have created a pararmeter to switch on or off and if it does not try the Oracle Server i have no Error, when the Parameter ServerUp is set to False

if ServerUp = true then try Oracle.Dat....

Anonymous
Not applicable

Hi @Steve_Lang ,

 

I continued to test and found that the TestForError step should deepen into the table, otherwise it returns False even though the service is available.

TestForError = try Source[<One table name in your database>],

 

Best Regards,
Gao

Community Support Team

 

If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

How to get your questions answered quickly --  How to provide sample data in the Power BI Forum

Expiscornovus
Super User
Super User

Hi @Steve_Lang,

 

I would say you are on the right track, I would also use error handling for this:

https://learn.microsoft.com/en-us/power-query/error-handling

 

Have you tried putting next server connection in the otherwise part of your expression?

https://stackoverflow.com/questions/78102909/using-try-and-otherwise-in-powerquery

 

 

 



Happy to help out 🙂

I share #PowerAutomate and #SharePointOnline content on my Blog, Bluesky profile or Youtube Channel

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors