Freigeben über


Informationen zum BizTalk-Adapter für SQL Server Adapterbindungseigenschaften

Der Microsoft BizTalk-Adapter für SQL Server enthält mehrere Bindungseigenschaften. Wenn Sie diese Eigenschaften festlegen, können Sie das Verhalten des Adapters steuern. In diesem Abschnitt werden die Bindungseigenschaften beschrieben, die vom SQL-Adapter verfügbar gemacht werden. Außerdem wird gezeigt, wie Sie mithilfe der .NET-Programmierung oder durch Festlegen von Eigenschaften für eine BizTalk Server physischen Portbindung darauf zugreifen können.

Adapterbindungseigenschaften

In der folgenden Tabelle sind die SQL-Adapterbindungseigenschaften nach Kategorie gruppiert. Die Kategorie bezieht sich auf den Knoten, unter dem jede Bindungseigenschaft in den Dialogfeldern angezeigt wird, die von verschiedenen Anwendungen zum Konfigurieren des Adapters (oder der Bindung) angezeigt werden.

XmlStoredProcedureRootNodeName

Kategorie: FOR XML
Beschreibung: Gibt den Namen des Stammknotens für das Antwortschema für gespeicherte Prozeduren an, die in der SELECT-Anweisung über eine FOR XML-Klausel verfügen. Dieser Stammknoten kapselt die XML-Antwort, die von SQL Server empfangen wurde, nachdem diese gespeicherten Prozeduren ausgeführt wurden. Sie müssen diesen Stammknoten dem Antwortschema hinzufügen, wie im Thema Ausführen gespeicherter Prozeduren mit einer FOR XML-Klausel in SQL Server mithilfe von BizTalk Server beschrieben.

Wichtig

Sie müssen diese Bindungseigenschaft beim Ausführen gespeicherter Prozeduren mit der FOR XML-Klausel festlegen.

.NET-Typ: Zeichenfolge

XmlStoredProcedureRootNodeNamespace

Kategorie: FOR XML
Beschreibung: Gibt den Zielnamespace des Stammknotens für das Antwortschema für gespeicherte Prozeduren an, die über eine FOR XML-Klausel in der SELECT-Anweisung verfügen.
.NET-Typ: Zeichenfolge

CloseTimeout

Kategorie: Allgemein
Beschreibung: Das WCF-Timeout für das Schließen der Verbindung. Der Standardwert beträgt 1 Minute.
.NET-Typ: System.TimeSpan

Name

Kategorie: Allgemein
Beschreibung: Ein schreibgeschützter Wert, der den Namen der Datei zurückgibt, die vom Visual Studio-Plug-In Add Adapter Service Reference generiert wurde, um die WCF-Clientklasse zu enthalten. Das Add Adapter Service Reference Plug-In bildet den Dateinamen, indem "Client" an den Wert der Name-Eigenschaft angefügt wird. Der Standardwert für diese Eigenschaft ist "SqlAdapterBinding". für diesen Wert wird die generierte Datei "SqlAdapterBindingClient" genannt.
.NET-Typ: Zeichenfolge

OpenTimeout

Kategorie: Allgemein
Beschreibung: Gibt das timeout für das Öffnen der WCF-Verbindung an. Der Standardwert beträgt 1 Minute.

Wichtig

Der SQL-Adapter verwendet immer OpenTimeout, um das Timeout für die Verbindungsherstellung festzulegen, wenn er eine Verbindung mit SQL Server öffnet. Der Adapter ignoriert alle Timeoutparameter (System.TimeSpan), die beim Öffnen eines Kommunikationsobjekts übergeben werden. Der Adapter ignoriert beispielsweise alle Timeoutparameter, die beim Öffnen eines Kanals übergeben werden.

.NET-Typ: System.TimeSpan

ReceiveTimeout

Kategorie: Allgemein
Beschreibung: Gibt das WCF-Timeout an. Im Wesentlichen bedeutet dies die maximale Zeit, die der Adapter auf eine eingehende Nachricht wartet. Standardwert: 10 Minuten.

Wichtig

Für eingehende Vorgänge, z. B. Abfragen, wird empfohlen, das Timeout auf den maximal möglichen Wert festzulegen, der 24.20:31:23.6470000 (24 Tage) ist. Wenn Sie den Adapter mit BizTalk Server verwenden, wirkt sich das Festlegen des Timeouts auf einen großen Wert nicht auf die Funktionalität des Adapters aus.

.NET-Typ: System.TimeSpan

SendTimeout

Kategorie: Allgemein
Beschreibung: Gibt das Timeout für das Senden von WCF-Nachrichten an. Der Standardwert beträgt 1 Minute.
.NET-Typ: System.TimeSpan

EnableBizTalkCompatibilityMode

Kategorie: BizTalk
Beschreibung: Gibt an, ob der Adapter mit BizTalk Server oder einer .NET-Anwendung verwendet wird.

  • Wenn Sie die Adapter aus BizTalk Server verwenden (oder Metadaten für Vorgänge auf SQL Server mithilfe des Adapters in einem BizTalk-Projekt generieren), müssen Sie die Eigenschaft immer auf True festlegen. Dadurch wird sichergestellt, dass das für System.Data.DataSet generierte Schema in einem Mit BizTalk Server kompatiblen Format vorliegt. Andernfalls kann ihr BizTalk-Projekt nicht kompiliert werden.
  • Wenn Sie die Adapter aus Visual Studio in einer .NET-Anwendung verwenden, müssen Sie die Eigenschaft auf False festlegen, wenn Sie die Antwort als DataSet verwenden möchten. Dadurch wird sichergestellt, dass das für System.Data.DataSet generierte Schema in einem Format vorliegt, das mit dem WCF DataContractSerializer kompatibel ist.

.NET-Typ: bool (System.Boolean)

BatchSize

Kategorie: Pufferung
Beschreibung: Gibt die Batchgröße für die Vorgänge Einfügen, Aktualisieren und Löschen mehrerer Datensätze für eine Tabelle oder Sicht in einer SQL Server Datenbank an. Der Standardwert ist 20. Bei Werten von BatchSize größer als 1 batchet der SQL-Adapter die angegebene Anzahl von Datensätzen in einem einzelnen Aufruf. Ein höherer Wert kann die Leistung verbessern, wirkt sich aber auf die Arbeitsspeicherauslastung aus.
.NET-Typ: int (System.Int32)

ChunkSize

Kategorie: Pufferung
Beschreibung: Gibt die Puffergröße an, die für set<column_name-Vorgänge> verwendet wird. Der Standardwert ist 4194304 Bytes. Ein höherer Wert kann die Leistung verbessern, wirkt sich aber auf die Arbeitsspeicherauslastung aus.

Hinweis

Weitere Informationen zum Festlegen<column_name> Vorgänge finden Sie unter Vorgänge für Tabellen und Ansichten, die große Datentypen mit dem SQL-Adapter enthalten.

.NET-Typ: int (System.Int32)

Verschlüsseln

Kategorie: Verbindung
Beschreibung: Gibt an, ob SQL Server (mit installiertem gültigem Zertifikat) die SSL-Verschlüsselung für alle Datenübertragungen zwischen SQL Server und dem Client verwendet. Die Standardeinstellung lautet false.
.NET-Typ: bool (System.Boolean)

MaxConnectionPoolSize

Kategorie: Verbindungsbeschreibung: Gibt die maximale Anzahl von Verbindungen an, die in einem Verbindungspool für eine bestimmte Verbindungszeichenfolge zulässig sind. Der Standard ist 100. Diese Eigenschaft wird für die Leistungsoptimierung verwendet.

Wichtig

Sie müssen MaxConnectionPoolSize umsichtig festlegen. Es ist möglich, die Anzahl der verfügbaren Verbindungen zu erschöpfen, wenn dieser Wert zu groß festgelegt ist.

.NET-Typ: int (System.Int32)

WorkstationId

Kategorie: Verbindung
Beschreibung: Gibt eine eindeutige ID für die Arbeitsstation (Clientcomputer) an, die mithilfe des SQL-Adapters eine Verbindung mit der SQL Server Datenbank herstellt. Der Wert für diese Bindungseigenschaft wird, sofern angegeben, für die Arbeitsstations-ID Schlüsselwort (keyword) der SqlConnection.ConnectionString-Eigenschaft verwendet. Weitere Informationen finden Sie unter SqlConnection.ConnectionString-Eigenschaft.
.NET-Typ: Zeichenfolge

EnablePerformanceCounters

Kategorie: Diagnose
Beschreibung: Gibt an, ob die WCF LOB Adapter SDK-Leistungsindikatoren und der LOB-Latenzleistungsindikator für SQL-Adapter aktiviert werden sollen. Der Standardwert ist False. Leistungsindikatoren sind deaktiviert. Der Leistungsindikator für die LOB-Latenz misst die Gesamtzeit, die der SQL-Adapter beim Tätigen von Aufrufen der SQL Server Datenbank aufwendet.

Weitere Informationen zu Leistungsindikatoren für den SQL-Adapter finden Sie unter Verwenden von Leistungsindikatoren mit dem SQL-Adapter.
.NET-Typ: int (System.Int32)

InboundOperationType

Kategorie: Eingehender Datenverkehr
Beschreibung: Gibt an, ob Sie den eingehenden Vorgang "Polling", "TypedPolling", "XmlPolling" oder "Notification " ausführen möchten. Die Standardeinstellung ist Polling.

Weitere Informationen zu Polling, TypedPolling und XmlPolling finden Sie unter Unterstützung für Die Abfrage. Weitere Informationen zu Benachrichtigungen finden Sie unter Überlegungen zum Empfangen von Abfragebenachrichtigungen mithilfe des SQL-Adapters.
.NET-Typ: Enumeration

UseDatabaseNameInXsdNamespace

Kategorie: Metadaten
Beschreibung: Gibt an, ob die für ein bestimmtes Artefakt generierte XSD den Datenbanknamen enthält. Legen Sie dies auf True fest, um den Datenbanknamen einzuschließen. Legen Sie andernfalls auf False fest. Der Standardwert ist False.

Dies ist nützlich in Szenarien, in denen eine einzelne Anwendung Vorgänge für identisch benannte Artefakte mit unterschiedlichen Metadaten in verschiedenen Datenbanken ausführen möchte. Wenn im Namespace kein Datenbankname vorhanden ist, treten die generierten Metadaten in Konflikt. Wenn Sie diese Bindungseigenschaft festlegen, können Sie den Datenbanknamen in den Namespace einschließen und ihn dadurch eindeutig machen. Hier sehen Sie ein Beispiel, in dem die Änderung im Namespace hervorgehoben wird.

UseDatabaseNameInXsdNamespace = False
http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Employee

UseDatabaseNameInXsdNamespace = True
http://schemas.microsoft.com/Sql/2008/05/TableOp/MyDatabase/dbo/Employee

Beachten Sie, dass der Datenbankname im Namespace enthalten ist, wenn die Bindungseigenschaft auf True festgelegt ist.

.NET-Typ: Enumeration

AllowIdentityInsert

Kategorie: Sonstiges
Beschreibung: Gibt an, ob der Adapter während der Einfüge- und Updatevorgänge Werte für Identitätsspalten einfügen kann. Legen Sie diese Eigenschaft auf True fest, um Werte für Identitätsspalten einzufügen oder zu aktualisieren. Legen Sie andernfalls auf False (Standard) fest.

Hinweis

Wenn Sie diese Eigenschaft auf True festlegen, wird der Adapter mithilfe SET IDENTITY_INSERT <table_name> ONvon übersetzt. Weitere Informationen finden Sie unter SET IDENTITY_INSERT (Transact-SQL).

Bei der Verwendung dieser Bindungseigenschaft müssen Sie die folgenden Punkte berücksichtigen:

  • Der Adapter überprüft nicht den Wert, den Sie für die Identitätsspalte übergeben. Wenn eine Tabelle beispielsweise über eine Identitätsspalte verfügt, in der "Identity Seed" auf 100 und "Identity Increment" auf 1 festgelegt ist, und der Adapterclient einen Wert, z. B. 95, für die Identitätsspalte übergibt, übergibt der Adapter diesen Wert einfach an SQL Server.
  • Selbst wenn Sie AllowIdentityInsert auf True festlegen, ist es für einen Adapterclient nicht obligatorisch, einen Wert für die Identitätsspalte in der Anforderungsnachricht anzugeben. Wenn ein Wert für die Identitätsspalte vorhanden ist, übergibt der Adapter ihn an SQL Server. Wenn kein Wert vorhanden ist, fügt SQL Server basierend auf der Spezifikation für die Identitätsspalte einen Wert ein.

.NET-Typ: bool (System.Boolean)

NotificationStatement

Kategorie: Benachrichtigung (eingehender Eingang)
Beschreibung: Gibt die SQL-Anweisung (gespeicherte SELECT- oder EXEC-Prozedur<>) an, die zum Registrieren für SQL Server Benachrichtigungen verwendet wird. Sie müssen die Spaltennamen in der -Anweisung wie in der folgenden SELECT-Anweisung dargestellt eingeben:

SELECT Employee_ID,Designation FROM dbo.Employee WHERE Status=0

Hinweis

Sie müssen den Namen des Datenbankobjekts zusammen mit dem Schemanamen angeben. Beispiel: dbo.Employee.

Der Adapter ruft nur dann eine Benachrichtigung von SQL Server ab, wenn sich das Resultset für die angegebene SQL-Anweisung ändert.

.NET-Typ: Zeichenfolge

NotifyOnListenerStart

Kategorie: Benachrichtigung (eingehender Eingang)
Beschreibung: Gibt an, ob der Adapter eine Benachrichtigungsnachricht an die Adapterclients sendet und darüber informiert, dass der Empfangsspeicherort ausgeführt wird, wenn der Listener gestartet wird. Der Standardwert ist true.

Die Benachrichtigung, die Sie erhalten, sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8" ?>
 <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">
   <Info>ListenerStarted</Info>
    <Source>SqlBinding</Source>
    <Type>Startup</Type>
  </Notification>

.NET-Typ: bool (System.Boolean)

PolledDataAvailableStatement

Kategorie: Umfrage (eingehende)
Beschreibung: Gibt die SQL-Anweisung an, die ausgeführt wird, um zu bestimmen, ob Daten für die Abfrage einer bestimmten Tabelle in einer SQL Server-Datenbank verfügbar sind. Die angegebene Anweisung muss ein Resultset zurückgeben, das aus Zeilen und Spalten besteht. Der Wert in der ersten Zelle des Resultsets gibt an, ob der Adapter die SQL-Anweisung ausführt, die für die Eigenschaft PollingStatement-Bindung angegeben ist. Wenn die erste Zelle des Ergebnisses einen positiven Wert enthält, hat der Adapter die Abfrage-Anweisung ausgeführt.

Im Folgenden finden Sie Beispiele für einige gültige Anweisungen, die Sie für diese Bindungseigenschaft angeben können:

  • Wenn Sie eine SELECT-Anweisung angeben:

    SELECT COUNT(*) from <table_name>

  • Wenn Sie eine gespeicherte Prozedur angeben, kann Ihre gespeicherte Prozedur wie folgt definiert werden:

    CREATE PROCEDURE <procedure_name>
    AS BEGIN
    SELECT COUNT(*) FROM <table_name>
    END
    GO
    

    oder

    CREATE PROCEDURE <procedure_name>
    AS BEGIN
    DECLARE @count int
    SELECT @count = SELECT(*) FROM <table_name>
    SELECT @count
    END
    GO
    

Wenn Sie eine gespeicherte Prozedur verwenden, geben Sie polledDataAvailableStatement als EXEC <procedure_name>an.

Wichtig

Die Anweisung, die Sie für diese Bindungseigenschaft angeben, wird nicht innerhalb einer vom Adapter initiierten Transaktion ausgeführt und kann mehrmals aufgerufen werden, bevor die tatsächliche Abfrage-Anweisung ausgeführt wird (auch wenn bei der Ausführung der Anweisung angegeben wurde, dass Zeilen zur Abfrage verfügbar sind).

.NET-Typ: Zeichenfolge

PollingIntervalInSeconds

Kategorie: Umfrage (eingehende)
Beschreibung: Gibt das Intervall in Sekunden an, in dem der SQL-Adapter die für die PolledDataAvailableStatement-Bindungseigenschaft angegebene Anweisung ausführt. Der Standardwert ist 30 Sekunden. Das Abfrageintervall bestimmt das Zeitintervall zwischen aufeinander folgenden Umfragen. Wenn die Anweisung innerhalb des angegebenen Intervalls ausgeführt wird, ist der Adapter für die verbleibende Zeit im Intervall inaktiv.
.NET-Typ: int (System.Int32)

PollingStatement

Kategorie: Umfrage (eingehende)
Beschreibung: Gibt die SQL-Anweisung zum Abfragen einer SQL Server Datenbanktabelle an. Sie können eine einfache SELECT-Anweisung oder gespeicherte Prozeduren für die Abfrage-Anweisung angeben. Der Standardwert ist NULL. Sie müssen einen Wert für PollingStatement angeben, um die Abfrage zu aktivieren. Die Abfrageanweisung wird nur ausgeführt, wenn Daten für die Abfrage verfügbar sind, die durch die PolledDataAvailableStatement-Bindungseigenschaft bestimmt werden.

Sie können eine beliebige Anzahl von SQL-Anweisungen angeben, die durch ein Semikolon getrennt sind. Sie können die Abfrage-Anweisung verwenden, um Daten in einer SQL Server Datenbanktabelle zu lesen oder zu aktualisieren. Der SQL-Adapter führt die Abfrageanweisungen innerhalb einer Transaktion aus. Wenn der Adapter mit BizTalk Server verwendet wird, wird dieselbe Transaktion verwendet, um Nachrichten von SQL Server an das BizTalk-Meldungsfeld zu senden.

.NET-Typ: Zeichenfolge

PollWhileDataFound

Kategorie: Umfrage (eingehende)
Beschreibung: Gibt an, ob der SQL-Adapter das Abrufintervall ignoriert und kontinuierlich die SQL-Anweisung ausführt, die für die PolledDataAvailableStatement-Bindungseigenschaft angegeben ist, wenn Daten in der abgefragten Tabelle verfügbar sind. Wenn keine Daten in der Tabelle verfügbar sind, wird die SQL-Anweisung vom Adapter zum angegebenen Abrufintervall ausgeführt. Die Standardeinstellung lautet false.

Betrachten Sie ein Szenario, in dem das Abrufintervall auf 60 Sekunden festgelegt ist und die für PolledDataAvailableStatement angegebene Anweisung zurückgibt, dass Daten für Die Abrufe verfügbar sind. Anschließend führt der Adapter die für die Eigenschaft PollingStatement-Bindung angegebene Anweisung aus. Wenn der Adapter nur 10 Sekunden benötigt, um die Abfrageanweisung auszuführen, muss er nun 50 Sekunden warten, bevor er polledDataAvailableStatement erneut ausführt, und anschließend die Abfrageanweisung ausführen. Um die Leistung zu optimieren, können Sie stattdessen die Bindungseigenschaft PollWhileDataFound auf true festlegen, damit der Adapter mit der Ausführung des nächsten Abfragezyklus beginnen kann, sobald der vorherige Abfragezyklus endet.

.NET-Typ: bool (System.Boolean)

UseAmbientTransaction

Kategorie: Transaktion
Beschreibung: Gibt an, ob der SQL-Adapter die Vorgänge mithilfe des vom Aufrufer bereitgestellten Transaktionskontexts ausführt. Der Standardwert ist true. Dies bedeutet, dass der Adapter die Vorgänge immer in einem Transaktionskontext ausführt. Wenn andere Ressourcen an der Transaktion beteiligt sind und SQL Server die Transaktion ebenfalls verknüpft, wird die Transaktion zu einer MSDTC-Transaktion erhöht.

Es kann jedoch Szenarien geben, in denen sie nicht möchten, dass der Adapter Vorgänge in einem Transaktionskontext ausführt. Beispiel:

  • Beim Ausführen eines einfachen Select-Vorgangs für eine SQL Server-Datenbank
  • Beim Angeben einer Abruf-Anweisung, die einen Select-Vorgang ausführt und keine Änderungen an der Tabelle mit sich bringt, weder über eine Delete-Anweisung noch durch Aufrufen einer gespeicherten Prozedur.

Beide Vorgänge führen keine Aktualisierungen an der Datenbanktabelle durch, und daher kann das Erhöhen dieser Vorgänge zur Verwendung einer MSDTC-Transaktion zu einem Leistungsmehraufwand führen. In solchen Szenarien können Sie die Bindungseigenschaft auf false festlegen, damit der SQL-Adapter die Vorgänge nicht in einem Transaktionskontext ausführt.

Hinweis

  • Wenn UseAmbientTransaction auf False festgelegt ist, wird PolledDataAvailableStatement nicht aufgerufen. Stattdessen ruft der Adapter direkt das PollingStatement auf.
  • Keine Vorgänge in einem Transaktionskontext auszuführen, ist nur für Vorgänge ratsam, die keine Änderungen an der Datenbank vornehmen. Für Vorgänge, die Daten in der Datenbank aktualisieren, wird empfohlen, die Bindungseigenschaft auf TRUE festzulegen. Andernfalls treten entweder Nachrichtenverluste oder doppelte Nachrichten auf, je nachdem, ob Sie eingehende oder ausgehende Vorgänge ausführen.

.NET-Typ: bool (System.Boolean)

Wie setz ich SQL Server Bindungseigenschaften?

Sie können die SQL Server Bindungseigenschaften festlegen, wenn Sie eine Verbindung für SQL Server angeben. Informationen zum Festlegen von Bindungseigenschaften in folgenden Fällen:

Weitere Informationen

Entwickeln Ihrer SQL-Anwendungen