Forum Discussion

betizad's avatar
betizad
Icon for Helper I rankHelper I
5 years ago

Composite Model Qyery Failure - Power BI Desktop

Hello,

 

It appears that Power BI does not pass proxy settings to the internal OLE DB or ODBC connector. I get the following error when I try to switch from Power BI Service Dataset to a composite Model. 

 

OLE DB or ODBC error: COM error: COM error: Microsoft.AnalysisServices.AzureClient, Failed to resolve PBI workspace.

 

FYI: I am behind company http proxy with username-Password authentication. Power BI works just fine and I can work with a single dataset. This happens when switching to the new previewed composite model. 

 

This seems to be the same issue that is facing with the Databricks connector when used in an enironment behind company proxies [ Databricks connector error behind company proxy  ]. 

 

 

Help from Power BI developers and experts is very much appreciated.

Here is the full HTML error reponse:

 

<html>
<!-- FileName: index.html
     Language: [en]
-->
<!--Head-->
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  <meta http-equiv="X-UA-Compatible" content="IE=7" />
  <title>Stadt Z&uuml;rich - Internet Proxy Dienst</title>
  <script src="/mwg-internal/de5fs23hu73ds/files/javascript/sw.js" type="text/javascript" ></script>
  <link rel="stylesheet" href="/mwg-internal/de5fs23hu73ds/files/default/stylesheet.css" />
</head>
<!--/Head-->
<!--Body-->
<body onload="swOnLoad();">
  <table class='bodyTable'>
    <tr>
      <td class='bodyData' background='/mwg-internal/de5fs23hu73ds/files/default/img/bg_body.gif'>
<!--Logo-->
<table class='logoTable'>
  <tr>
    <td class='logoData'>
        <img src='/mwg-internal/de5fs23hu73ds/files/default/img/logo_mwg.png'>
    </td>
  </tr>
</table>
<!--/Logo-->
<!--Contents-->
<!-- FileName: authenticationrequired.html
     Language: [en]
-->
<!--Title-->
<table class='titleTable' background='/mwg-internal/de5fs23hu73ds/files/default/img/bg_navbar.jpg'>
  <tr>
    <td class='titleData'>
      Authentication Required
    </td>
  </tr>
</table>
<!--/Title-->

<!--Content-->
<table class="contentTable">
  <tr>
    <td class="contentData">
      You must be authenticated to access this URL.
    </td>
  </tr>
</table>
    
<script language="javascript" type="text/javascript">
   urlprotocol = "https";
   statuscode=407;

   if(statuscode==401 && urlprotocol == "ftp"){
      document.write("<form name=\"ftpform\" method=\"get\" action=\"\">");
      document.write("<table class=\"contentData\">");
      document.write("<tr><td class=\"contentData\" colspan=2>Please enter your credentials in the form below and click \"Access FTP\" button if your browser doesn't present authentication promt for FTP sites.</td></tr>");
      document.write("<tr><td class=\"contentData\">Username:</td><td><input type=\"text\" id=\"ftpUsername\" name=\"ftpUsername\" size=40 /></td></tr>");
      document.write("<tr><td class=\"contentData\">Password:</td><td><input type=\"password\" id=\"ftpPassword\" name=\"ftpPassword\" size=40 /></td></tr>");
      document.write("<tr><td class=\"contentData\" colspan=2 align=center><input type=\"button\" onclick=\"redirectToFTP();\" value=\"Access FTP\" /></td></tr>");
      document.write("</table>");
      document.write("</form>");
   }
   
   function redirectToFTP(){
      var username=escape(document.getElementById("ftpUsername").value);
      var password=escape(document.getElementById("ftpPassword").value);
      location.href = "ftp://"+username+":"+password+"@api.powerbi.com:443"
   }
</script>
<!--/Content-->

<!--Info-->
<table class="infoTable">
  <tr>
    <td class="infoData">
      <b>URL: </b><script type="text/javascript">break_line("https://api.powerbi.com");</script><br />
    </td>
  </tr>
</table>
<!--/Info-->

<!--/Contents-->
<br>
<!--Foot-->
<table class='footTable'>
  <tr>
    <td class='helpDeskData' background='/mwg-internal/de5fs23hu73ds/files/default/img/bg_navbar.jpg'>
      Bei Fragen wenden Sie sich bitte an den Service Desk der Stadt Z&uuml;rich. <a href="https://dwp.global.szh.loc" style="color: yellow">Online Servicedesk</a>
    </td>
  </tr>
  <tr>
    <td class='footData'>
      Proxy: <b>szhg0411</b>
      <br />
      <span id="time">2021-03-01 16:34:49</span>
      <br />
      Client IP: 172.22.33.198
      <br />
      
    </td>
  </tr>
</table>
<!--/Foot-->
      </td>
    </tr>
  </table>
</body>
<!--/Body-->
</html>

 

 

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi betizad ,

     

    Please follow these steps :

    1. As the error message said,Check if your server and database name is correct. Also check if your server has access to that database.

    2. Upgrade Power BI Desktop to the latest version and try it again.

    3. Launch Power BI Desktop as an administrator(right click on the power bi app, then select "run as admin"), and then make the connection.

    4. Try to install an older version ODBC connector

     

    Refer to : DirectQuery DataDirect ODBC drivers in Power BI

     

    Best Regards,
    Eyelyn Qin
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • Anonymous  Thanks for the reply. 

    I verified steps 1-3. i.e. I'm using latest version, server and db are correct, and run as admin did not help. 

    As mentioned in the error log, this is a proxy issue: "You must be authenticated to access this URL."

     

    i.e. internal ODBC drivers do not understand that I'm behnid proxy with authentication and try to connect to the sever without proxy authentication, thus the resulting error.

     

    The main question is how to setup proxy with authentication and ssl for internal ODBC drivers?

     

    P.S. The same solution (.pbix) file works on a private computer with the same version of power BI Desktop without the need for any external ODBC drivers. Of course it fails on the company laptop due to missing proxy seeting in the internal ODBC connector.