Arbeiten mit Parametern bei externen Datenverbindungen

Um die Abfrage auf die Daten aus extern eingebunden Datenquellen zu beschleunigen, können Parameter definiert werden, die immer nur das übergebene Objekt in der Datenbank abfragen. Dies macht vor allem dann Sinn, wenn in den eingebundenen Tabellen und FeatureClasses viele Datensätze vorhanden sind. Der Parameter wird direkt im SQL Statement definiert. Am Beispiel einer Oracle-Verbindung wird dieser folgendermaßen eingerichtet:

 

Erweitern Sie das SQL Statement um das Feld, dass als Parameter übergeben werden soll. Dies sollte ein eindeutiges Schlüsselfeld sein.

Select FeldX, FeldY, FeldZ from Table1

where FeldX = :param

 

Der Parameter wird bei der Oracle-Verbindung mit :+Bezeichnung definiert.

Hinweis: Je nach Datenbanktyp und -treiber wird der Parameter unterschiedlich definiert.

 - Bei einer OleDb Verbindung auf eine Oracle Datenbank wird als Parameter ein ? verwendet.

 - Bei einer SQLVerbindung auf eine SQL Datenbank wird als Parameter ein @ verwendet.

 

Zusätzlich zum SQL Statement, muss der Parameter als Feld in der Tabelle definiert werden. Dabei werden Name, Expression, Size und Type vergeben. Bei Expression wird das Feld definiert, aus welchem der Parameter übergeben wird. Type und Size legen den Datentyp und die Länge des Feldes fest.

Parameter definieren

Parameter definieren

 

 

Um zu gewährleisten, dass die Daten mit Parameter korrekt abgefragt werden, ist es notwendig bei den Eigenschaften der Datenquelle die Option ReconnectOnEachRow auf True zu setzen. Wenn dieser Option nicht auf True bzw. Wahr gesetzt wird, wird die Verbindung auf die Datenquelle nur einmal hergestellt, was bedeuten würde, dass nur die erste Zeile zurückgegeben wird.

 

Datenquelleneigenschaften

Datenquelleneigenschaften