Aracılığıyla paylaş


SQLoptions:initialDatabase üstbilgi öğesi

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.

The sqloptions:initialDatabase SOAP header enables the client to specify which database to first connect to, for example:

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <sqloptions:initialDatabase 
          SOAP-ENV:mustUnderstand="1"
          value="databaseName" 
          optional="true" | "false"
          filename="databaseFileName" />
    
</SOAP-ENV:Header>

The sqloptions:initialDatabase option appears as a SOAP header.Üstbilgi adında bir öğenin yapılır sqloptions:initialDatabase.Bir zorunlu öznitelik öğesi olan value.Bu bir dize değeridir.The value attribute specifies the name of the initial database to connect to.Dize yalnızca kullanımı gibi yorumlanır Transact-SQL komut.İki isteğe bağlı öznitelikleri öğesi vardır: optional, olan bir Boole değeri (varsayılan değer false) ve filename, bir dize değeri olan (varsayılan değer null).The optional attribute specifies whether failure to connect to the database should fail.Oturum açma: falseoturum açma başarısız anlamına gelir; trueoturum açma devam edebilir anlamına gelir.The filename value gives the file name of the database to attach on login.Bu neden iliştirilecek veritabanı tarafından çıkarılmış bir veritabanını oturum sağlar.

Yalnızca örnek sqloptions:initialDatabase seçeneği, bir istekte bulunabilir.Seçenek bir yanıt olarak bulunamaz.Hata seçeneği birden çok örneğini oluşturur.

İstek aldı son nokta varsa, bir varsayılan veritabanı yapılandırılmış, bir hata oluşturulur.Güvenlik nedenleriyle, istemci belirtemezsiniz sqloptions:initialDatabase varsayılan veritabanı sahip bitiş noktaları başlığına.

soap oturumlar kullanılıyorsa, bu seçenek aynı istekte görünmesi gereken sqloptions:sqlsession başlatmak öznitelik.Bu seçenek ile herhangi bir istekte görünüyorsa, bir sqloptions:sqlSession da içeren üstbilgi başlatmak öznitelik, bir hata oluşturulur.

Aşağıdaki için şema parçası olan sqloptions:initialDatabase seçeneği:

<xs:element name="initialDatabase" form="qualified">
    <xs:annotation>
        <xs:documentation>
            Set initial database on login.
        </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 database to attach to.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute
          name="optional"
          default="false"
          type="xs:boolean"
          form="unqualified">
            <xs:annotation>
                <xs:documentation>
                    Whether the initial database is optional or not.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="filename" type="xs:string" form="unqualified">
            <xs:annotation>
                <xs:documentation>
                    The filename of the database to attach.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
</xs:element>

Örnekler

Kullanım örnekleri şunlardır sqloptions:initialDatabase üstbilgisi içindeki soap istek ve yanıt iletilerini.

İstek

<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:initialDatabase SOAP-ENV:mustUnderstand="1" 
                                value="dbTestForAttaching" 
                                optional="false" 
                                filename="!DBDATADIR!\dbTestForAttaching.mdf" />
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <sql:sqlbatch>
      <sql:BatchCommands>
        SELECT name FROM sys.databases WHERE database_id=(SELECT dbid FROM master.dbo.sysprocesses WHERE spid=@@spid)
        SELECT TOP 1 object_id FROM sys.objects WHERE object_id=(SELECT TOP 1 object_id FROM dbTestForAttaching.sys.objects)
      </sql:BatchCommands>
    </sql:sqlbatch>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Yanıt

<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>
                <name>dbTestForAttaching</name>
              </row>
            </SqlRowSet1>
          </diffgr:diffgram>
        </sqlresultstream:SqlRowSet>
        <sqlresultstream:SqlRowCount xsi:type="sqlrowcount:SqlRowCount">
          <sqlrowcount:Count>1</sqlrowcount:Count>
        </sqlresultstream:SqlRowCount>
        <sqlresultstream:SqlRowSet xsi:type="sqlsoaptypes:SqlRowSet">
          <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
            <SqlRowSet2 xmlns="urn:schemas-microsoft-com:sql:SqlRowSet2">
              <row>
                <object_id>val</object_id>
              </row>
            </SqlRowSet2>
          </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>

Ayrıca bkz.

Başvuru