using (PowerBIClient pbiClient = new PowerBIClient(new Uri("https://api.powerbi.com"), m_tokenCredentials))
{
var gateways = pbiClient.Gateways.GetGateways();
var gateway = gateways.Value.Where(a => a.Name == "mygateway").FirstOrDefault();
var datasources = pbiClient.Gateways.GetDatasources(gateway.Id);
var credentialsEncryptor = new AsymmetricKeyEncryptor(gateway.PublicKey);
var credentials = new BasicCredentials(mylogin, mypassword);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Organizational, EncryptedConnection.Encrypted, credentialsEncryptor);
PublishDatasourceToGatewayRequest request = new PublishDatasourceToGatewayRequest
{
ConnectionDetails = "{\"server\":\"SQLServerName\",\"database\":\"MyDatabaseName\"}",
CredentialDetails = credentialDetails,
DataSourceType = "SQL",
DataSourceName = "my datasource name"
};
GatewayDatasource datasource = pbiClient.Gateways.CreateDatasource(gateway.Id, request);
}
< /code>
fehlschlägt jedoch mit dem Fehler: < /p>
Vorgänge zurück '. < /p>
< /blockquote>
Nach der Untersuchung der HttpoperationException fand ich die API -Antwort: < /p>
Dm_gwpipeline_gateway_databaseloginError. >
Eine Verbindung wurde mit dem Server erfolgreich hergestellt, aber dann trat ein Fehler während des Anmeldungsprozesses auf. (Anbieter: SSL -Anbieter, Fehler: 0 - Die Zertifikatskette wurde von einer nicht vertrauenswürdigen Behörde ausgestellt.)
Schritte unternommen < /p>
[*] Ich kann mich bei dem SQL -Server anmelden, der von meinem lokalen Computer aus gutem Zustand verwendet wird, indem ich dieselben Anmeldeinformationen wie mein Code verwendet. LI> Ich habe versucht, meine Verbindungszeichenfolge zu ändern, um dem Serverzertifikat zu vertrauen, aber dennoch den gleichen Fehler erhalten. < /li>
< /ol>
ConnectionDetails = "{\"server\":\"SQLServerName\",\"database\":\"MyDatabaseName\",\"TrustServerCertificate\":true}"
< /code>
- Ich habe die Verbindung zum SQL -Server vom Server getestet, auf dem das Gateway installiert ist, und verwenden dieselben Anmeldeinformationen wie mein Code. Die Verbindung war erfolgreich mithilfe einer Datenverbindungsdatei:
Jeder Einblick hier wäre sehr geschätzt. < /P>