Partager via


Élément d'en-tête sqloptions:initialLanguage

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

L'en-tête SOAP sqloptions:initialLanguage permet au client de spécifier la langue initiale à configurer, par exemple :

<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>

L'option sqloptions:initialLanguage apparaît en tant qu'en-tête SOAP. L'en-tête est constituée d'un seul élément, nommé sqloptions:initialLanguage. Cet élément a un attribut obligatoire : value. Il s'agit d'une valeur de type chaîne. L'attribut value spécifie le nom de la langue initiale à définir. Cette chaîne est interprétée comme l'instruction Transact-SQL SET LANGUAGE. Cet élément d'en-tête a un attribut facultatif : optional. Il s'agit d'une valeur booléenne (la valeur par défaut est false). Cet attribut facultatif indique si l'échec de la connexion à la base de données entraîne l'échec de l'ouverture de session : false signifie que l'ouverture de session doit échouer ; true signifie que l'ouverture de session peut continuer.

Il ne peut y avoir qu'une seule occurrence de l'option sqloptions:initialLanguage dans une demande. Cette option ne peut pas figurer dans une réponse. Une erreur est générée si cette option a plusieurs occurrences.

Dans le cas de sessions SOAP, cette option doit apparaître dans la même demande que l'attribut sqloptions:sqlsession initiate. Si cette option figure dans une demande qui présente un en-tête sqloptions:sqlSession, mais sans attribut initiate, une erreur est générée.

L'exemple ci-dessous est un fragment de schéma pour l'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>

Exemples

Les exemples ci-dessous montrent comment utiliser l'en-tête sqloptions:initialLanguage dans les messages SOAP de demande et de réponse.

Demande

<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>

Réponse

<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>

Voir aussi

Référence