Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagexml
<AddressProvider id="8C51B042-81EA-46E3-A429-821641E19A6A" order="1" active="false">
  <Debug>false</Debug>
  <Title>Generic SQL Provider</Title>
  <Icon>{Base64 Image}</Icon>
  <SafeQuery>false</SafeQuery>
  <ConnectionString>{ConnectionString}</ConnectionString>
  <ConnectionProvider>System.Data.OleDb</ConnectionProvider>
  <Query>
    <!-- Example in T-SQL -->
    SELECT 
        [SPALTENNAME] AS {Feldname OneOffixxprimedocs} 
    FROM [TABLE]
    WHERE
        UCase([Vorname]) Like UCase('%{firstName}%') AND
        UCase([Name]) Like UCase('%{lastName}%') AND
        UCase([Strasse] &amp; ' ' &amp; [Hausnummer]) Like UCase('%{street}%') AND
        [Postleitzahl] Like '%{plz}%' AND
        UCase([Ort]) Like UCase('%{city}%')
  </Query>
  <SearchParameters>
    <SearchParameter Name="company" Label="Firma" Type="String" Length="100" Sort="1" />
    <SearchParameter Name="firstName" Label="Vorname/Name" Type="String" Length="100" Sort="2" />
    <SearchParameter Name="lastName" Label="" Type="String" Length="100" Sort="2" Width="90" />
    <SearchParameter Name="street" Label="Strasse" Type="String" Length="100" Sort="3" />
    <SearchParameter Name="plz" Label="PLZ/Ort" Type="String" Length="6" Sort="4" />
    <SearchParameter Name="city" Label="" Type="String" Length="100" Width="130" Sort="4" />
    <SearchParameter Name="country" Label="Land" Type="String" Length="100" Sort="5" />
  </SearchParameters>
  <ContactMapping>
    <ContactItemXPath>Contact</ContactItemXPath>
    <ContactElement id="Person_LastName">Column_LastName</ContactElement>
    <ContactElement id="Person_FirstName">Column_FirstName</ContactElement>
  </ContactMapping>
</AddressProvider>

...

  • Debug true falls zusätzliche Informationen geloggt werden sollen.

  • Title Titel des Address Provider (wird so in Tab angezeigt)

  • Icon Bild für Icon (als Base64-String; empfohlen: PNG, 32x32 Pixel)

  • SafeQuery Fügt vor jeden Parameter im Query ein '@' ein (true nur möglich für System.Data.SqlClient), sollte stets auf true gestellt sein um SQL Injection Attacken zu verhindern, allerdings gilt dies nicht für alle Datenbanksysteme.

  • ConnectionString Datenbank ConnectionString .

  • ConnectionProvider

    • System.Data.Odbc

    • System.Data.OleDb

    • System.Data.OracleClient

    • System.Data.SqlClient

  • ContactMapping Siehe XML-Kontakt-Mapping.

...

Query

Die Abfrage in der korrekten Syntax und Sprache für den gewählten Provider: es gilt zu beachten, dass es erhebliche Unterschiede zwischen den SQL-Dialekten gibt.

...

Beispiel für Transact-SQL:

Code Block
languagexmlsql
SELECT 
    [Column1] AS OneOffixxFieldname1, 
    [Column2] AS OneOffixxFieldname2, 
FROM [TABLENAME]
WHERE
    UCase([Column1]) Like UCase('%{searchParam1}%') AND
    UCase([Column2]) Like UCase('%{searchParam2}%')

...

Beispiel für Oracle SQL:

Code Block
languagexmlsql
SELECT 
    Column1 AS "OneOffixxFieldname1",
    Column2 AS "OneOffixxFieldname2"
FROM TABLENAME
WHERE
    UPPER(Column1) Like UPPER('%{searchParam1}%') AND
    UPPER(Column2) Like UPPER('%{searchParam2}%') 

...