Forum Discussion

wonga's avatar
wonga
Continued Contributor
10 years ago
Solved

Oracle Data Source in Enterprise Gateway

I'm having trouble adding an Oracle database as a data source in the enterprise gateway. The error message I get is below:

 

Unable to connect: We encountered an error while trying to connect to SERVER_NAME. Details: "Cannot connect to the mashup data source. See error details for more information."Hide details

Activity ID:03e50d90-a4ee-4a5a-96c5-7dfe93a5ef4f
Request ID:522f1644-0873-dd0c-719c-9d06e3972ddf
Cluster URI:https://wabi-us-north-central-redirect.analysis.windows.net
Status code:400
Error Code:DM_GWPipeline_Gateway_MashupDataAccessError
Time:Wed May 04 2016 14:48:55 GMT-0400 (Eastern Daylight Time)
Version:13.0.1100.480
Underlying error code:-2147467259
Underlying error message:The provider being used is deprecated: 'System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.'. Please visit https://go.microsoft.com/fwlink/p/?LinkID=272376 to install the offical provider.
DM_ErrorDetailNameCode_UnderlyingHResult:-2147467259
Microsoft.Data.Mashup.ValueError.Reason:DataSource.Error

 

 

I can confirm that I have the latest ODAC components installed on both the client machine and the server where the enterprise gateway is installed. I have also tested connecting to the data source through Power BI Desktop and it works just fine.

 

Any ideas? Thanks.

  • wonga's avatar
    wonga
    10 years ago

    Hi dimazaid, I managed to solve this by using the Oracle service name found in tnsnames.ora instead of using the full hostname.

     

    So instead of putting "HOSTNAME" in the "Server" field, all I had to do was put in the service name. For reference, the syntax of a tnsnames.ora entry is:

     

    SERVICENAME =

      (DESCRIPTION =

        (ADDRESS = (PROTOCOL = TYPE)(HOST = HOSTNAME)(PORT = PORTNUM))

        (CONNECT_DATA =

          (SERVICE_NAME = SERVICENAME)

       )

      )

     

    Thanks, I forgot to mark this one as solved!

2 Replies

  • dimazaid's avatar
    dimazaid
    Microsoft Employee

    hi wonga,
    Could you try using your own account to use the Gateway? and refresh again. 
    If that works, you should reinstall the oracle components in a way that ensures the service account for the Gateway has access to them.

    • wonga's avatar
      wonga
      Continued Contributor

      Hi dimazaid, I managed to solve this by using the Oracle service name found in tnsnames.ora instead of using the full hostname.

       

      So instead of putting "HOSTNAME" in the "Server" field, all I had to do was put in the service name. For reference, the syntax of a tnsnames.ora entry is:

       

      SERVICENAME =

        (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TYPE)(HOST = HOSTNAME)(PORT = PORTNUM))

          (CONNECT_DATA =

            (SERVICE_NAME = SERVICENAME)

         )

        )

       

      Thanks, I forgot to mark this one as solved!