Forum Discussion

m1417's avatar
m1417
Regular Visitor
2 years ago
Solved

Data source is not getting Updated using patch method

Hello,

For a pbi with datasource mode Import, I'am able to change the Username and Password but not able to change ConnectionString.

For my test

If I only change DataModelDataSource\Username and DataModelDataSource\Password its OK (200)

If I change ConnectionString its 400 Bad Request

 

I have to change others attributes in my Body?
Here the body:
[
        {
            "Id""uid",
            "Name"null,
            "Description"null,
            "Path"null,
            "Type""DataSource",
            "Hidden"false,
            "Size"0,
            "ModifiedBy""me",
            "ModifiedDate""2022-01-21T12:07:41.557+01:00",
            "CreatedBy""me",
            "CreatedDate""2022-01-21T09:31:56.927+01:00",
            "ParentFolderId"null,
            "IsFavorite"false,
            "IsEnabled"true,
            "ConnectionString": "XXXservernameXXX;XXXdatabasenameXXX",
            "DataSourceType""SQL",
            "IsConnectionStringOverridden"true,
            "IsReference"false,
            "DataSourceSubType""DataModel",
            "CredentialsByUser"null,
            "CredentialsInServer"null,
            "DataModelDataSource": {
                "Type""Import",
                "Kind""SQL",
                "AuthType""UsernamePassword",
                "SupportedAuthTypes": [
                    "Windows",
                    "UsernamePassword"
                ],
                "Username": "xxx",
                "Secret": "xxx",
                "ModelConnectionName"""
            }
        }
    ]

 

  • Hi, m1417 

    You might be able to try the following body code, it will work:

    [
        {
            "Id": "uid", // Replace with the actual ID of the data source
            "Name": "your_datasource_name",
            "Description": "your_description",
            "Path": "your_path",
            "Type": "DataSource",
            "Hidden": false,
            "Size": 0,
            "ModifiedBy": "your_username",
            "ModifiedDate": "2022-01-21T12:07:41.557+01:00",
            "CreatedBy": "your_username",
            "CreatedDate": "2022-01-21T09:31:56.927+01:00",
            "ParentFolderId": null,
            "IsFavorite": false,
            "IsEnabled": true,
            "ConnectionString": "Server=XXXservernameXXX;Database=XXXdatabasenameXXX;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;", // Example connection string
            "DataSourceType": "SQL",
            "IsConnectionStringOverridden": true,
            "IsReference": false,
            "DataSourceSubType": "DataModel",
            "CredentialsByUser": null,
            "CredentialsInServer": null,
            "DataModelDataSource": {
                "Type": "Import",
                "Kind": "SQL",
                "AuthType": "UsernamePassword",
                "SupportedAuthTypes": [
                    "Windows",
                    "UsernamePassword"
                ],
                "Username": "your_username",
                "Secret": "your_password",
                "ModelConnectionName": ""
            }
        }
    ]

     

    If this post helps, then please consider Accept it as the solution and kudos to this post to help the other members find it more quickly

1 Reply

  • hackcrr's avatar
    hackcrr
    Memorable Member

    Hi, m1417 

    You might be able to try the following body code, it will work:

    [
        {
            "Id": "uid", // Replace with the actual ID of the data source
            "Name": "your_datasource_name",
            "Description": "your_description",
            "Path": "your_path",
            "Type": "DataSource",
            "Hidden": false,
            "Size": 0,
            "ModifiedBy": "your_username",
            "ModifiedDate": "2022-01-21T12:07:41.557+01:00",
            "CreatedBy": "your_username",
            "CreatedDate": "2022-01-21T09:31:56.927+01:00",
            "ParentFolderId": null,
            "IsFavorite": false,
            "IsEnabled": true,
            "ConnectionString": "Server=XXXservernameXXX;Database=XXXdatabasenameXXX;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;", // Example connection string
            "DataSourceType": "SQL",
            "IsConnectionStringOverridden": true,
            "IsReference": false,
            "DataSourceSubType": "DataModel",
            "CredentialsByUser": null,
            "CredentialsInServer": null,
            "DataModelDataSource": {
                "Type": "Import",
                "Kind": "SQL",
                "AuthType": "UsernamePassword",
                "SupportedAuthTypes": [
                    "Windows",
                    "UsernamePassword"
                ],
                "Username": "your_username",
                "Secret": "your_password",
                "ModelConnectionName": ""
            }
        }
    ]

     

    If this post helps, then please consider Accept it as the solution and kudos to this post to help the other members find it more quickly