SQL


Benutzerdaten aus einer SQL-Datenbank können über die SqlSyncSource synchronisiert werden. Die Verbindung wird über das ConnectionString-Element aufgebaut, welche auch verschlüsselt abgelegt werden kann.

Unterstützt werden folgende Datenbank Typen über das ConnectionProvider-Element:

  • System.Data.Odbc

  • System.Data.SqlClient

  • MySql.Data.MySqlClient

  • Oracle.ManagedDataAccess.Client

Die Abfrage wird über das Query-Element definiert. Als Parameter wird der queryKey benötigt. Der Syntax im Query-Element muss dem SQL Datenbanksystem entsprechen:

Beispiel: MS SQL

SELECT FirstName, LastName FROM Users WHERE Email = @queryKey

Das Mapping wird ebenfalls unterstützt.


Konfiguration

<?xml version="1.0" encoding="utf-8"?> <UserSyncConfig> <SqlSyncSource name="Sql" queryKey="OneOffixxIdentifier"> <ConnectionString>Data Source=sqlserver.local;Initial Catalog=SampleData;User ID=user;Password=pw;Encrypt=False</ConnectionString> <ConnectionProvider>System.Data.SqlClient</ConnectionProvider> <Query>SELECT [givenname],[surname], [email] FROM [Table] WHERE UserId = @queryKey</Query> <!-- Optional: Result Mapping Syntax is supported --> <ResultMapping> <Mapping> <Map Source="email" Target="fromMappingEMail" /> </Mapping> </ResultMapping> <!-- Claim Mapping - column names are property names--> <Claims> <Claim type="http://schema.oneoffixx.com/ws/2011/01/identity/claims/givenname" ignoreClaimIfEmpty="true" property="givenname" /> <Claim type="http://schema.oneoffixx.com/ws/2011/01/identity/claims/surname" ignoreClaimIfEmpty="true" property="surname" /> <Claim type="http://schema.oneoffixx.com/ws/2011/01/identity/claims/email" ignoreClaimIfEmpty="true" property="fromMappingEMail" /> </Claims> </SqlSyncSource> </UserSyncConfig>

 

PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland