Freigeben über


sqloptions:initialLanguage (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.

Der SOAP-Header sqloptions:initialLanguage ermöglicht, dass der Client die festzulegende Anfangssprache angibt. Beispiel:

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <sqloptions:initialLanguage          SOAP-ENV:mustUnderstand="1"          value="name of initial language to use"           optional="true" | "false" />

</SOAP-ENV:Header>

Als SOAP-Header wird die sqloptions:initialLanguage-Option verwendet. Der Header besteht also aus einem Element namens sqloptions:initialLanguage. Dieses Element besitzt ein obligatorisches Attribut, value. Dabei handelt es sich um einen Zeichenfolgewert. Das value-Attribut gibt den Namen der festzulegenden Anfangssprache an. Diese Zeichenfolge wird auf die gleiche Weise wie die SET LANGUAGE-Anweisung von Transact-SQL interpretiert. Dieses Element besitzt ein optionales Attribut, optional. Dabei handelt es sich um einen booleschen Wert (der Standardwert ist false). Das optionale Attribut gibt an, ob beim Fehlschlagen der Verbindung mit der Datenbank auch die Anmeldung fehlschlagen soll: false bedeutet, dass die Anmeldung fehlschlagen soll; true bedeutet, dass die Anmeldung fortgesetzt werden kann.

In einer Anforderung kann jeweils nur eine Instanz der sqloptions:initialLanguage-Option vorkommen. Die Option darf nicht in einer Antwort verwendet werden. Mehrere Instanzen der Option generieren einen Fehler.

Wenn SOAP-Sitzungen verwendet werden, muss diese Option in derselben Anforderung erscheinen wie das Attribut sqloptions:sqlsession initiate. Wenn diese Option in einer Anforderung mit einem sqloptions:sqlSession-Header verwendet wird, die nicht außerdem das initiate-Attribut enthält, wird ein Fehler generiert.

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

<xs:element name="initialLanguage" form="qualified">
    <xs:annotation>
        <xs:documentation>
            Set initial language to set.
        </xs:documentation>
    </xs:annotation>
    <xs:complexType>
        <xs:attribute use="required" name="value" type="xs:string" form="unqualified">
            <xs:annotation>
                <xs:documentation>
                    The name of the initial language to set.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute
          name="optional"
          default="false"
          type="xs:boolean"
          form="unqualified">
            <xs:annotation>
                <xs:documentation>
                    Whether the initial language is optional or not.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
</xs:element>

Beispiele

Die folgenden Beispiele zeigen die Verwendung des sqloptions:initialLanguage-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:initialLanguage SOAP-ENV:mustUnderstand="1" value="us_english" optional="true"/>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <sql:sqlbatch>
      <sql:BatchCommands>
        SELECT @@language AS lang
      </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>
                <lang>us_english</lang>
              </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