Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hi,
I have a direct query report that needs to be used by multiple clients. I've created workspaces per client and my application determines which workspace to access and fetches the report from there. However, when I launch the report, I need to make sure the report is pointing to the right data source. I do have the tnsname and database name I have to connect to but my report fails to update the datasetconnectionstring.
Snippet
var connectionDetails = new ConnectionDetails() { ConnectionString = connectionString }; var powerBiClient = await _client.GetPowerBiClient(); var dataset = await powerBiClient.Datasets.GetDatasetByIdInGroupAsync(groupId, datasetId); if (dataset.IsEffectiveIdentityRequired.Value && dataset.IsEffectiveIdentityRolesRequired.Value) { var response = await powerBiClient.Datasets.SetAllDatasetConnectionsInGroupAsync(groupId, datasetId, connectionDetails); LogHelper.LogInfo(string.Format("Dataset {0} in workspace {1} update with connection string {2}", datasetId, groupId, connectionString)); //await powerBiClient.Datasets.RefreshDatasetInGroupAsync(groupId, datasetId); }
The connectionstring is of the following format "data source= <tnsname>" for Oracle database and "Data Source=<serverName>; Initial Catalog=<databasename>;" for SQL server database.
reports using Oracle give me an error on the report.
Reports using SQL Server run through fine but don't update the dataset until I manually refresh the dataset.
@Anonymous wrote:
Hi,
I have a direct query report that needs to be used by multiple clients. I've created workspaces per client and my application determines which workspace to access and fetches the report from there. However, when I launch the report, I need to make sure the report is pointing to the right data source. I do have the tnsname and database name I have to connect to but my report fails to update the datasetconnectionstring.
Snippet
var connectionDetails = new ConnectionDetails() { ConnectionString = connectionString }; var powerBiClient = await _client.GetPowerBiClient(); var dataset = await powerBiClient.Datasets.GetDatasetByIdInGroupAsync(groupId, datasetId); if (dataset.IsEffectiveIdentityRequired.Value && dataset.IsEffectiveIdentityRolesRequired.Value) { var response = await powerBiClient.Datasets.SetAllDatasetConnectionsInGroupAsync(groupId, datasetId, connectionDetails); LogHelper.LogInfo(string.Format("Dataset {0} in workspace {1} update with connection string {2}", datasetId, groupId, connectionString)); //await powerBiClient.Datasets.RefreshDatasetInGroupAsync(groupId, datasetId); }The connectionstring is of the following format "data source= <tnsname>" for Oracle database and "Data Source=<serverName>; Initial Catalog=<databasename>;" for SQL server database.
reports using Oracle give me an error on the report.Reports using SQL Server run through fine but don't update the dataset until I manually refresh the dataset.
@Anonymous
Per my test, a connection string as below actually works.
"data source=yourOracleServerName:1522/SERVICE_NAME;persist security info=True"
@Anonymous wrote:
@Eric_Zhang What would your tnsnames.ora file look like locally???
# tnsnames.ora Network Configuration File: C:\app\userxxx\virtual\product\12.2.0\dbhome_1\network\admin\tnsnames.ora # Generated by Oracle configuration tools. LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = myserver.xxxx.xxxx.xxxx.com)(PORT = 1522)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myserver.xxxx.xxxx.xxxx.com)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.xxxxx.xxxx.xxxx.com) ) )
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
12 | |
2 | |
2 | |
1 | |
1 |