Comments (9)
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.
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.
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.
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.
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.
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.
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.
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.
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)
- How to change Data source connection for deployment to PowerBI premium? HOT 4
- Question about 'overwrite' option will be deprecated in a future version HOT 2
- Unable to add Azure Analysis task to the pipeline HOT 3
- Not a valid model file. (A parameter cannot be found that matches parameter name 'Encoding'.) HOT 1
- error]The IP firewall settings is invalid because the IP address <ip>xx.xx.xx.xx</ip> can't be parsed. HOT 11
- Deployment Task unable to update Firewall rules and failing with below error HOT 1
- Automatic firewall addition start failing in Azure SSAS deployment HOT 2
- Password gets deleted/ reset after deployment pipeline run HOT 1
- A parameter cannot be found that matches parameter name 'Encoding' HOT 1
- Not able to fetch token for tenant HOT 1
- Tabular Deployment timing out HOT 3
- deprecation warnings HOT 2
- Exception calling "DeserializeDatabase" with "1" argument(s): "Unrecognized JSON property: maxParallelismPerRefresh HOT 1
- Add Support for Deployment of Field Parameters HOT 3
- When deployed to Azure Analysis Services, the model name is always "Model" HOT 1
- Support for Snowflake / ODBC connections HOT 2
- Login type "inherit" fails with error "Cannot bind argument to parameter 'String' because it is null" HOT 1
- Error while deploying a tabular model with a Parameter field HOT 1
- [error]Not a valid model file. (Access to the path 'D:\a\r1\a' is denied.) HOT 1
- Support for Workload Identity Federation (WIF) Service Connections
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vsts-release-aas.