Forum Discussion

Pratik_0527's avatar
Pratik_0527
Helper I
1 year ago
Solved

Lakehouse Connection issue using SQL Endpoint

Hi All,

 

Im trying to connect to Fabric Lakehouse through a C++ using the SQL Endpoint. I have registered the APP in Azzure and generated a client ID. Using this to connect im getting below error. Can somebody guide what needs to be done here? Are we missing anything ?

Error Message : "Error details: error invalid_client error_description: AADSTS650057: Invalid resource. The client has requested access to a resource which is not listed in the requested permissions in the client's application registration. Resource value from request: https://pbipneu9-northeurope.pbidedicated.windows.net. Resource app ID: cb4dc29f-0bf4-402a-8b30-7511498ed654. List of valid resources from app registration: 00000003-0000-0000-c000-000000000000."

  • Pratik_0527's avatar
    Pratik_0527
    1 year ago

    Hi v-nmadadi-msft , We found the solution for the issue. For lakehouse, the connection gets rerouted to some different URL. Initially we were tokenizing it and trying to connect to it, but the trick is you need to perform socket , prelogin on the original end point and "send the redirected URL to the login stage" while using the TDS protocol. PFB sample :
    original Sql end point : nkttul5irfuejgeufneefoktjm-obtyxdfizvlura7ao2yincxurq.datawarehouse.fabric.microsoft.com

    Redircted URL : pbipneu9-northeurope.pbidedicated.windows.net\ABCDUL5IRFUEJGEUFNEEFOKTJM-CCSJOZJPH6FE5GFNZMCN4ILWLA-dw:1433

    Existing code logic trying to connect : pbipneu9-northeurope.pbidedicated.windows.net

14 Replies

  • Hi Pratik_0527 

     

    have you done this?

     

    Navigate to your app registration in the Azure Portal.
    2. Under API permissions, click + Add a permission → Microsoft APIs → Power BI Service.
    3. Select delegated or application permissions (e.g., `Dataset.ReadWrite.All` or `Reports.Read.All`, depending on your use case).
    4. Click Add permissions and have an admin grant tenant-wide consent

    • Pratik_0527's avatar
      Pratik_0527
      Helper I

      Hi nilendraFabric we do have this permission setup present in Azzure. Also we are not using Power BI. its a C++ driver code.

  • v-nmadadi-msft's avatar
    v-nmadadi-msft
    Community Support

    Hi Pratik_0527  ,
    Thanks for reaching out to the Microsoft fabric community forum.

    Check these troubleshooting steps:

    -> Please ensure that the caller has contributor or higher workspace role.

    -> The required delegated scope to call lakehouse are Lakehouse.ReadWrite.All or item.ReadWrite.All, ensure                 these are in place.

    ->  Since you're calling from a C++ app make sure you're using the correct token endpoint.
           For Ex if it is to get lakehouse it should be something like this
           GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/lakehouses/{lakehouseId}


    If this post helps, then please consider Accepting as solution to help the other members find it more quickly and consider giving a KUDOS. Feel free to reach out if you need further assistance.
    Thank you

    • Pratik_0527's avatar
      Pratik_0527
      Helper I

      Hi v-nmadadi-msft We have verified the enpoint that we are using with the help of Native driver by microsoft and the SSMS tool. Both are able to connect to the Lakehouse. 
      Also we are not using CURL as the "GET" request suggested by you shows something like CURL API.
      Let us know if Lakehouse connectivity requires CURL API calls?

  • v-nmadadi-msft's avatar
    v-nmadadi-msft
    Community Support

    Hi Pratik_0527 ,

    May I ask if you have resolved this issue? If so, please mark the helpful reply and accept it as the solution. This will be helpful for other community members who have similar problems to solve it faster.

    Thank you.

     

  • v-nmadadi-msft's avatar
    v-nmadadi-msft
    Community Support

    Hi Pratik_0527 

    As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided by the community members for the issue worked. If our response addressed, please mark it as Accept as solution and click Yes if you found it helpful.

     

    Thanks and regards

    • Pratik_0527's avatar
      Pratik_0527
      Helper I

      Hi v-nmadadi-msft the issue is still there. We are not able to connect yet. Also some of the solutions suggested were using highend APIs like REST which our current code is not dealing with. We are working with Microsoft fabric team and will update here as soon as we get any break through

      • v-nmadadi-msft's avatar
        v-nmadadi-msft
        Community Support

        Hi Pratik_0527 ,
        Thank you for providing an update to your issue. As suggested please explore modifications to your code to integrate REST API.
        Also kindly update the community members if there is any breakthrough with Fabric team so as to help other members who may face similar issue in the future.
        Thank you

    • Pratik_0527's avatar
      Pratik_0527
      Helper I

      Hi v-nmadadi-msft , We found the solution for the issue. For lakehouse, the connection gets rerouted to some different URL. Initially we were tokenizing it and trying to connect to it, but the trick is you need to perform socket , prelogin on the original end point and "send the redirected URL to the login stage" while using the TDS protocol. PFB sample :
      original Sql end point : nkttul5irfuejgeufneefoktjm-obtyxdfizvlura7ao2yincxurq.datawarehouse.fabric.microsoft.com

      Redircted URL : pbipneu9-northeurope.pbidedicated.windows.net\ABCDUL5IRFUEJGEUFNEEFOKTJM-CCSJOZJPH6FE5GFNZMCN4ILWLA-dw:1433

      Existing code logic trying to connect : pbipneu9-northeurope.pbidedicated.windows.net

      • v-nmadadi-msft's avatar
        v-nmadadi-msft
        Community Support

        Hi Pratik_0527 ,

        We really appreciate your efforts and for letting us know the update on the issue.
        Please accept your reply as the solution so as to help other community members who may come across this post in the future.

        Additionally continue using fabric community forum for your further assistance.
        Thank you