Giter Club home page Giter Club logo

Comments (9)

liprec avatar liprec commented on June 30, 2024 1

Hi All,

Somehow this issue has been off my radar somehow: sorry about that.
But the extension works indeed only with modern Get Data experience of the 1400+ data models.

For a future release I will take a look at the variable part of the TMSL script task and the option to use legacy data source connections.

-JP

from vsts-release-aas.

ckupferschmid avatar ckupferschmid commented on June 30, 2024

Having the same issue here.
The data entered into the task is not put into the connection of the model.
Also assuming, that we are missing out something.

Thanks for any hint.

from vsts-release-aas.

ckupferschmid avatar ckupferschmid commented on June 30, 2024

Having the same issue here.
The data entered into the task is not put into the connection of the model.
Also assuming, that we are missing out something.

Thanks for any hint.

Just found the problem.
We use models that have been updated from 1200 to 1400. These models use legacy data sources. That's why the connection parameters are not updated.

Would it be possible to add an option to use legacy data sources?

from vsts-release-aas.

ckupferschmid avatar ckupferschmid commented on June 30, 2024

Having the same issue here.
The data entered into the task is not put into the connection of the model.
Also assuming, that we are missing out something.
Thanks for any hint.

Just found the problem.
We use models that have been updated from 1200 to 1400. These models use legacy data sources. That's why the connection parameters are not updated.

Would it be possible to add an option to use legacy data sources?

Could you change it to something like this in your package? (not tested)

function ApplySQLSecurity($Model, $Server, $Database, $UserName, $Password) {
$connectionDetails = ConvertFrom-Json '{"connectionDetails":{"protocol":"tds","address":{"server":"server","database":"database"}}}'
$credential = ConvertFrom-Json '{"credential":{"AuthenticationKind":"UsernamePassword","kind":"kind","path":"server","Username":"user","Password":"pass","EncryptConnection":true}}'
$dataSources = $Model.model.dataSources
foreach($dataSource in $dataSources) {
if ($dataSource.type) {
$connectionDetails = ConvertFrom-Json '{"connectionDetails":{"protocol":"tds","address":{"server":"server","database":"database"}}}'
$credential = ConvertFrom-Json '{"credential":{"AuthenticationKind":"UsernamePassword","kind":"kind","path":"server","Username":"user","Password":"pass","EncryptConnection":true}}'
$connectionDetails.connectionDetails.protocol = $dataSource.connectionDetails.protocol
$connectionDetails.connectionDetails.address.server = $Server
$connectionDetails.connectionDetails.address.database = $Database
$dataSource.connectionDetails = $connectionDetails.connectionDetails
$credential.credential.kind = $dataSource.credential.kind
$credential.credential.EncryptConnection = $dataSource.credential.EncryptConnection
$credential.credential.AuthenticationKind = $dataSource.credential.AuthenticationKind
$credential.credential.path = $Server
$credential.credential.Username = $UserName
$credential.credential.Password = $Password
$dataSource.credential = $credential.credential
}
else
{
$dataSource.connectionString = "Provider=SQLOLEDB.1;Data Source=" + $Server + ";User ID=" + $UserName + ";Password=" + $Password + ";Initial Catalog=" + $Database
$dataSource.impersonationMode = "impersonateServiceAccount"
}
}
return $Model
}

from vsts-release-aas.

indexample avatar indexample commented on June 30, 2024

I experience the same issue: after deployment the model wont process:
"The JSON DDL request failed with the following error: Failed to execute XMLA. Error returned: 'Login failed for user 'xxx' .. The exception was raised by the IDbConnection interface."

after opening the connection string and resubmitting the password, it works again. So it looks like the password is not deployed correctly....?

from vsts-release-aas.

indexample avatar indexample commented on June 30, 2024

i found a workaround solution: after the deployment step, also add a TMSL script that updates/replaces the connection with in there a hardcoded password in the connectionstring
(you cannot use variables in a TMSL script task):

{
"createOrReplace": {
"object": {
"database": "MODELNAME",
"dataSource": "DATASOURCENAME"
},
"dataSource": {
"name": "CONNECTIONNAME",
"connectionString": "Data Source=DBURL;Initial Catalog=DBNAME;User ID=USERNAME;Persist Security Info=true;Encrypt=true;TrustServerCertificate=false;Password=PASSWORD",

........etc

from vsts-release-aas.

indexample avatar indexample commented on June 30, 2024

yeah those issues are related as updating the connection string through TMSL also requires a variable part for DTAP environments.

for now, I can fix it by adding a new datasource (structured connection) and switching all tables to the new source.

Dank je, JP!

Derek

from vsts-release-aas.

ckupferschmid avatar ckupferschmid commented on June 30, 2024

In my fork (ckupferschmid/vsts-release-aas), I have added support for legacy data source and also added some adjustment on how to handle firewall rules, if you do parallel deployment of models to the same AAS instance.
Would be nice to see them in your future release.

from vsts-release-aas.

stale avatar stale commented on June 30, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from vsts-release-aas.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.