SqlDataProvider
Mit dem SqlDataProvider
können Sie auf beliebig konfigurierbare SQL-Datenbanken zugreifen.
Konfiguration
Neben der Mapping
- und SearchParameters
-Konfiguration, welche alle DataProvider
der https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/63537333 benötigen, kann der SqlDataProvider
über das Options
-Element konfiguriert werden:
<SqlDataProvider DisplayName="Kundenadressen">
<Options>
<ConnectionString>{ConnectionString}</ConnectionString>
<ConnectionProvider>System.Data.SqlClient</ConnectionProvider>
<Query>
SELECT * FROM Users WHERE FirstName Like '%' + @firstName + '%'
</Query>
</Options>
...
</SqlDataProvider>
Unter Options wird die Verbindung und die Datenbankabfrage definiert.
ConnectionString: ConnectionString, kann verschlüsselt sein.
ConnectionProvider: Definiert den Typ der Datenbank - unterstützte Typen:
System.Data.Odbc
System.Data.SqlClient
MySql.Data.MySqlClient
Oracle.ManagedDataAccess.Client
Query: Definiert den SQL Query, hierbei werden die
SearchParameters
als SQL Parameter behandelt.
Der SQL Query muss in dem Format für die jeweilige Zieldatenbank sein. Da alle Suchparameter von der SearchParameters
-Konfiguration als SQL Parameter behandelt werden, muss der jeweilige SQL Parameter Syntax der Zieldatenbank eingehalten werden.
Beispiele
MS SQL
SELECT FirstName, LastName FROM Users
WHERE FirstName LIKE '%' + @firstName + '%' AND LastName LIKE '%' + @lastName + '%'
MySQL
SELECT FirstName, LastName FROM Users
WHERE FirstName LIKE Concat('%', @firstName, '%') AND LastName LIKE Concat('%', @lastName, '%')
ACHTUNG
Bei Oracle, Odbc und PostgreSQL muss die Reihenfolge der Platzhalter in der Query mit der Reihenfolge der "SearchParameters" übereinstimmen!
Oracle
Odbc
PostgreSQL
ACHTUNG
Die Einschränkung der Reihenfolge hat zur Folge, dass ein Parameter in der Query genau einmal verwendet werden kann.
Folgende MS SQL Query kann nicht direkt zu Oracle oder Odbc übersetzt werden:
Wenn ein Parameter auf mehr als eine Spalte verglichen werden muss, dann können diese Spalten im SELECT mittels der jeweiligen Funktion des Datenbanksystems kombiniert werden:
Odbc
Beispiel-XML-Konfiguration
PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland