Freigeben über


sqloptions:clientInterface (Header-Element)

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.

Die Anmeldeoption sqloptions:clientInterface ermöglicht es dem Client, die Clientschnittstelle für die Anmeldung anzugeben. Beispiel:

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <sqloptions:clientInterface          SOAP-ENV:mustUnderstand="1"          value="name of client interface to use for login" />

</SOAP-ENV:Header>

Die Anmeldeoption sqloptions:clientInterface wird als SOAP-Header angezeigt. Er besteht aus einem Element namens sqloptions:clientInterface. Dieses Element besitzt ein obligatorisches Attribut, value, einen Textwert. Dieses gibt die Clientschnittstelle an, die für die Anmeldung festgelegt wird. Diese wird in der client_interface_name-Spalte der Kompatibilitätssicht sys.dm_exec_sessions angezeigt.

In einer Anforderung kann nur eine Instanz der Option sqloptions:clientInterface angezeigt werden. Die Option darf nicht in einer Antwort angezeigt werden. Mehrere Instanzen der Option generieren einen Fehler.

Der Server kann den Bereich der anerkannten Werte für den Wert sqloptions:clientInterface einschränken. Wenn ein Client einen Wert außerhalb des zulässigen Bereichs übermittelt, wird der Wert vom Server in einer nicht definierten Weise einfach abgeschnitten.

Wenn SOAP-Sitzungen verwendet werden, muss diese Option in derselben Anforderung wie das Attribut sqloptions:sqlsession initiate angezeigt werden. Wenn diese Option in irgendeiner Anforderung mit einem sqloptions:sqlSession-Header angezeigt wird, der nicht auch ein initiate-Attribut enthält, wird ein Fehler generiert.

Das folgende Beispiel ist ein Schemafragment für die sqloptions:clientInterface-Option:

<xs:element name="clientInterface" form="qualified">
    <xs:annotation>
        <xs:documentation>
            Set the client interface for the login.
        </xs:documentation>
    </xs:annotation>
    <xs:complexType>
        <xs:attribute use="required" name="value" type="xs:string" form="unqualified">
            <xs:annotation>
                <xs:documentation>
                    The client interface to set for the login.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
</xs:element>

Beispiele:

Die folgenden Beispiele zeigen die Verwendung des sqloptions:clientInterface-Headers in SOAP-Anforderungs- und Antwortnachrichten.

Anforderung

<SOAP-ENV:Envelope xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
                   xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:sqlparam="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlParameter"
                   xmlns:sqlsoaptypes="https://schemas.microsoft.com/sqlserver/2004/SOAP/types"
                   xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
  <SOAP-ENV:Header>
    <sqloptions:clientInterface SOAP-ENV:mustUnderstand="1" value="ADO.NET SOAP 2.1" />
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <sql:sqlbatch>
      <sql:BatchCommands>
          SELECT client_interface_name FROM sys.dm_exec_sessions 
          WHERE session_id=@@spid AND client_interface_name='ADO.NET SOAP 2.1'
      </sql:BatchCommands>
    </sql:sqlbatch>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Antwort

<SOAP-ENV:Envelope xml:space="preserve" 
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                   xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/" 
                   xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP" 
                   xmlns:sqlsoaptypes="https://schemas.microsoft.com/sqlserver/2004/SOAP/types" 
                   xmlns:sqlrowcount="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlRowCount" 
                   xmlns:sqlmessage="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlMessage" 
                   xmlns:sqlresultstream="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlResultStream" 
                   xmlns:sqltransaction="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlTransaction" 
                   xmlns:sqltypes="https://schemas.microsoft.com/sqlserver/2004/sqltypes">
  <SOAP-ENV:Body>
    <sql:sqlbatchResponse>
      <sql:sqlbatchResult>
        <sqlresultstream:SqlRowSet xsi:type="sqlsoaptypes:SqlRowSet">
          <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
            <SqlRowSet1 xmlns="urn:schemas-microsoft-com:sql:SqlRowSet1">
              <row>
                <client_interface_name>ADO.NET SOAP 2.1</client_interface_name>
              </row>
            </SqlRowSet1>
          </diffgr:diffgram>
        </sqlresultstream:SqlRowSet>
        <sqlresultstream:SqlRowCount xsi:type="sqlrowcount:SqlRowCount">
          <sqlrowcount:Count>1</sqlrowcount:Count>
        </sqlresultstream:SqlRowCount>
      </sql:sqlbatchResult>
    </sql:sqlbatchResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Siehe auch

Verweis