Elemento dell'intestazione sqloptions:initialLanguage
Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.
L'intestazione SOAP sqloptions:initialLanguage consente al client di specificare la lingua iniziale da impostare, ad esempio:
<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'opzione sqloptions:initialLanguage appare come intestazione SOAP. L'intestazione è composta da un elemento, denominato sqloptions:initialLanguage. L'elemento ha un elemento obbligatorio, ovvero value. Si tratta di un valore stringa. L'attributo value specifica il nome della lingua iniziale da impostare. La stringa viene interpretata esattamente come l'istruzione Transact-SQL SET LANGUAGE. L'elemento ha un attributo facoltativo, ovvero optional. Si tratta di un valore booleano (il valore predefinito è false). L'attributo facoltativo specifica se un errore di connessione al database deve impedire l'accesso: false significa che l'accesso non può essere eseguito, mentre true significa che è possibile continuare l'accesso.
In una richiesta può essere presente una sola istanza dell'opzione sqloptions:initialLanguage. Questa opzione non può essere presente in una risposta. In presenza di più istanze dell'opzione verrà generato un errore.
Se si utilizzano sessioni SOAP, questa opzione deve essere presente nella stessa richiesta dell'attributo sqloptions:sqlsession initiate. Se questa opzione è presente in una richiesta con un'intestazione sqloptions:sqlSession che non contiene l'attributo initiate, viene generato un errore.
Di seguito è riportato un frammento di schema per l'opzione 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>
Esempi
Negli esempi seguenti viene illustrato l'utilizzo dell'intestazione sqloptions:initialLanguage in messaggi di richiesta e di risposta SOAP.
Richiesta
<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>
Risposta
<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>