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