Forum Discussion

IbisRipley's avatar
IbisRipley
Frequent Visitor
4 years ago

ReportingServicesTools Set-RsRestItemDataSource - BAD REQUEST how to diagnose?

I am attempting to write a script to update Datasource connect strings for power bi reports on PBIRS(on prem, no service)  - Trying to add a port to the ( sharepoint ) url in the connect string.  Forgive me as I am new to this and unsure how to move forward.  Script is below and it does return the connectstring with the port to screen prior to setting it.    Can anyone help with possible next steps or what might be wrong?  Thanks in advance

The last line

Set-RsRestItemDataSource -RsItem $dataSourcePath -RsItemType 'PowerBIReport' -DataSources $ds -ReportPortalUri $ReportServerURI

returns

Failed to update data sources for '/AP/CSECR/Action%20Items': The remote server returned an error: (400) Bad Request.
$ReportServerURI = "https://<svr>/Reports/"
$ReportPortalUri = "https://<svr>//PBIReports"

$dataSourcePath = "/MyReportPath"


cls

#Get-RsRestItemDataSource -RsItem $dataSourcePath -ReportPortalUri $ReportPortalUri

$dataSources = Get-RsRestItemDataSource -RsItem $dataSourcePath -ReportPortalUri $ReportServerUri
foreach($ds in $dataSources)
{
Write-Host $ds.ConnectionString

$ds.ConnectionString = $ds.ConnectionString.Replace("mydomain.com", "mydomain.com.999")
$ds.DataModelDataSource.AuthType = "Integrated"
$ds.DataModelDataSource.Username = "Adomain\user"
$ds.DataModelDataSource.Secret = "mypw"

Write-Host $ds.ConnectionString

Set-RsRestItemDataSource -RsItem $dataSourcePath -RsItemType 'PowerBIReport' -DataSources $ds -ReportPortalUri $ReportServerURI
}

 

 

 

5 Replies

  • IbisRipley's avatar
    IbisRipley
    Frequent Visitor

    One additional note:  I managed to get the Response body, but it doesn't help me much either.  

    Response body:
    Failed to update data sources for '/AP/CSECR/Action%20Items': The remote server returned an error: (400) Bad Request.
    + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi IbisRipley ,

     

    Failed to update data sources for '/AP/CSECR/Action%20Items': The remote server returned an error: (400) Bad Request.

    Have you checked the credentials? 400 usually indicates an incorrectly formatted query. In your case, however, this looks more like expired credentials.  

     

    Best Regards,
    Community Support Team _ Caitlyn

    • OPB12's avatar
      OPB12
      Frequent Visitor

      I am getting the same problem do you have any resolution ? 

  • I am having the same issue.  I can set many of the values (e. g. Name, Description, DataModelDataSource.AuthType, DataModelDataSource.Username) but, as soon as I add in the DataModelDataSource.Secret = "mypw" it results in the Bad Request (400) error.

    That rules out the cerdentials being wrong/expired.  I have tried setting the CredentialRetrieval to "prompt" and "store" with no success.