Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Microsoft SQL Server

Alternativ zu der OLEDB-Verbindung kann ein Microsoft SQL Server auch über einen nativen Treiber angesprochen werden.

Die wichtigsten Parameter sind dabei von gleicher Bedeutung und unterscheiden sich nur namentlich von den OLEDB-Parametern.

Schlüssel

Beschreibung

Provider*

Wert SqlNCli

Server*

Name oder IP-Adresse des Datenbankservers

Der Name oder die IP-Adresse kann um einen Instanznamen ergänzt werden, der durch ein \ separiert ist. Eine Portnummer, die vom Standardwert 1433 abweicht, kann kommasepariert angegeben werden.

Database*

Name der Datenbank

Uid(*)

Pwd(*)

Benutzername und Passwort für die Authentifizierung

Trusted_Connection

Wert Yes, wenn alternativ zu Benutzername und Passwort eine Windows-Authentifizierung erfolgen soll

Das Datenbank-Kommando ist in Standard-SQL-Syntax anzugeben, typischerweise in Form einer SELECT-Anweisung. Abhängig von der Makrofunktion unterstützt dieser Provider aber auch andere SQL-Kommandos.

Für ein Abfragemakro wie QueryDbRecord() kann z. B. ein SELECT-Ausdruck dieser Art definiert werden:

SELECT Column1, Column2 + Column3 AS Column2And3 FROM Table1 WHERE Column1 = @Field1

In den meisten Fällen werden die Werte eines eingelesenen Satzes unten dem Spaltennamen zurückgeliefert, z. B. als Column1. Bei berechneten Werten wie Column2 + Column3 ist dies jedoch nicht der Fall. Für berechnete Werte kann bei Bedarf ein Aliasname wie Column2And3 vergeben werden. Wenn kein Aliasname vergeben ist, wird Column {Nummer} als Standardname genutzt.

Für das obige Beispiel-Makro ist nur die Reihenfolge der Werte im Datensatz relevant. Beim Einsatz interaktiver Datenbankabfragen im Office+ Index Client kann beispielsweise auch ein sprechender Anzeigename sinnvoll sein. Der dynamische Filterwert @Field1 ist im Beispiel als typisierte Variable geschrieben, sodass nicht auf die korrekte Syntax geachtet werden muss. Wenn der Wert hingegen als %Field1% nur per reiner Textersetzung eingefügt wird, müssen bei einem Textfeld die umgebenden Anführungszeichen explizit mit angegeben werden. Außerdem ist auf Sonderfälle zu achten, wie z. B. das Vorkommen von Anführungszeichen im Filterwert, die dann doppelt zu schreiben sind.

Das Makro ExecDbCommand() eignet sich zur Ausführung von Nicht-Abfrage-Kommandos, z. B. zum Einfügen, Aktualisieren und Löschen von Datensätzen. Für diese Kommandos ist an dieser Stelle jeweils ein kurzes Beispiel aufgeführt:

INSERT INTO TableName (Column1, Column2) VALUES (@Field1, 'Test')
UPDATE TableName SET Column2 = 'Test' WHERE Column1 = @Field1
DELETE FROM TableName WHERE Column1 = @Field1