Condividi tramite


Elemento dell'intestazione sqloptions:applicationName

L'opzione di accesso sqloptions:applicationName consente al client di specificare il nome dell'applicazione utilizzata per l'accesso, ad esempio:

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
  <SOAP-ENV:Header>
    <sqloptions:applicationName SOAP-ENV:mustUnderstand="1" value="application name" />
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
       
  </SOAP-ENV:Body>
</SOAP-ENV:Header>

L'opzione per l'account di accesso sqloptions:applicationName viene visualizzata come un'intestazione SOAP e include un elemento denominato sqloptions:applicationName. L'elemento ha un elemento obbligatorio, ovvero value. Questo attributo è rappresentato da una stringa. L'attributo value indica l'elemento "application name" da impostare per l'accesso. Questo valore viene visualizzato nella colonna program_name della vista di compatibilità sys.sysprocesses.

In una singola richiesta SOAP è possibile visualizzare una sola istanza dell'intestazione facoltativa sqloptions:applicationName. Questa intestazione non può essere visualizzata in una risposta SOAP. In presenza di più istanze dell'opzione verrà generato un errore.

Nel server potrebbero venire impostati limiti per l'intervallo dei valori riconosciuti dell'opzione sqloptions:applicationName. Se un client inoltra un valore non compreso nell'intervallo valido, il valore viene troncato automaticamente dal server in modo non definito.

Se si utilizzano sessioni SOAP, questa opzione deve essere presente nella stessa richiesta utilizzata per iniziare una sessione SOAP. Se questa opzione è presente in una richiesta con un'intestazione sqloptions:sqlSession che non contiene l'attributo initiate, viene generato un errore.

Quello seguente è un frammento di schema per l'opzione sqloptions:applicationName:

<xs:element name="applicationName" form="qualified">
    <xs:annotation>
        <xs:documentation>
            Set the application name 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 application name to set for the login.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
</xs:element>

Esempi

Negli esempi seguenti viene illustrato l'utilizzo dell'intestazione sqloptions:applicationName 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:applicationName SOAP-ENV:mustUnderstand="1" value="HeadTrax" />
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <sql:sqlbatch>
      <sql:BatchCommands>
         SELECT DISTINCT program_name FROM sysprocesses
         WHERE program_name='HeadTrax'
      </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>
                  <program_name>HeadTrax</program_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>

Vedere anche

Riferimento

Intestazioni di estensioni SOAP

Guida in linea e informazioni

Assistenza su SQL Server 2005