ileti türü (Transact-SQL) CREATE
Yeni bir ileti türü oluşturur.bir ileti türü ileti doğrulama adını tanımlar,Service Brokergerçekleştiren iletiler olan bu adı.Her iki tarafında bir konuşma aynı ileti türlerini tanımlamalısınız.
CREATE MESSAGE TYPE message_type_name
[ AUTHORIZATION owner_name ]
[ VALIDATION = { NONE
| EMPTY
| WELL_FORMED_XML
| VALID_XML WITH SCHEMA COLLECTION
schema_collection_name
} ]
[ ; ]
Bağımsız değişkenler
message_type_name
Adı ileti türü oluşturmak için.Yeni bir ileti türü geçerli veritabanında oluşturulmuş ve YETKİLENDİRME belirtilen para sahibi yan tümce.Şema sunucu ve veritabanı adı belirtilemez.The message_type_name can be up to 128 characters.owner_name yetkilendirme
Sahibi ayarlar ileti türü belirtilen veritabanı kullanıcısı ya da rol.Geçerli kullanıcının olduğunda dbo or SA, owner_name herhangi bir geçerli kullanıcı veya rolün adını olabilir. Aksi takdirde,owner_namegeçerli kullanıcı adını, geçerli kullanıcı için özelliklerini al iznine sahip bir kullanıcı adı ve ait olduğu geçerli kullanıcı rolünün adı olmalıdır.Zaman bu yan tümce olan atlanırsa, ileti türü geçerli kullanıcıya ait.DOĞRULAMA
Belirtir nasılService Brokerdoğrulama ileti metni ileti bu tür.Bu yan belirtildiğinde, doğrulama yok için varsayılan kullanılır.Yok
Hiçbir doğrulama gerçekleştirildiğini belirtir.İleti gövdesi veri içerebilir veya null olabilir.BOŞ
İleti gövdesi null olması gerektiğini belirtir.WELL_FORMED_XML
İyi biçimlendirilmiş XML ileti metnini içermesi gerektiğini belirtir.SCHEMA koleksiyon schema_collection_name ile VALID_XML
Belirtilen şema koleksiyon, bir şema ile uyumlu bir XML ileti metnini içermesi gerektiğini belirtirschema_collection_nameadı olmalıdır. Varolan XML şema koleksiyon.
Remarks
Service Broker gelen iletilerin doğrular.Belirtilen zaman, olmayan uygun doğrulama türü ile ileti gövdesinde bir ileti içerirService Brokergeçersiz ileti atar ve bir hata iletisi, gönderilen hizmet verir. ileti.
Her iki tarafında bir ileti türü için aynı adı tanımlamanız gerekir.Sorun giderme yardımcı olmak için her iki tarafında bir konuşma genellikle aynı doğrulamasını belirtmek ileti türü, ancakService Brokergerektirmez, her iki tarafında görüşme kullanmak aynı doğrulama.
Bir ileti türü geçici bir nesne olabilir.ileti türü ile başlayan adları**#** verilir, ancak kalıcı nesneler. olur
İzinler
Üyeleri için varsayılan bir ileti türü oluşturma iznidb_ddladmin ya da sabit veritabanı rolleri ve sysadmindb_owner rolü. sunucu sabit
Başvurular izin ileti türü için varsayılan ileti türü, üyelerinin sahibi içindb_owner sabit veritabanı rolü ve sabit sunucu rolü. sysadmin üyeleri
Şema koleksiyon CREATE ileti türü deyimi belirler, deyim yürütülürken kullanıcının belirtilen şema koleksiyon başvurular izninizin olması gerekir.
Örnekler
C.İyi biçimlendirilmiş XML içeren bir ileti türü oluşturma
Aşağıdaki örnek, iyi biçimlendirilmiş XML içeren yeni bir ileti türü oluşturur.
CREATE MESSAGE TYPE
[//Adventure-Works.com/Expenses/SubmitExpense]
VALIDATION = WELL_FORMED_XML ;
b.XML yazılı türü içeren bir ileti oluşturma
Aşağıdaki örnek, bir ileti türü için XML biçiminde kodlanmış bir gider raporu oluşturur.Bu örnek, basit bir gider raporu için şema içeren bir XML şema koleksiyon oluşturur.Bu örnek, sonra şemaya iletileri doğrulamak için kullandığı yöntemi yeni bir ileti türü oluşturur.
CREATE XML SCHEMA COLLECTION ExpenseReportSchema AS
N'<?xml version="1.0" encoding="UTF-16" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://Adventure-Works.com/schemas/expenseReport"
xmlns:expense="http://Adventure-Works.com/schemas/expenseReport"
elementFormDefault="qualified"
>
<xsd:complexType name="expenseReportType">
<xsd:sequence>
<xsd:element name="EmployeeName" type="xsd:string"/>
<xsd:element name="EmployeeID" type="xsd:string"/>
<xsd:element name="ItemDetail"
type="expense:ItemDetailType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ItemDetailType">
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="CostCenter" type="xsd:string"/>
<xsd:element name="Total" type="xsd:decimal"/>
<xsd:element name="Currency" type="xsd:string"/>
<xsd:element name="Description" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ExpenseReport" type="expense:expenseReportType"/>
</xsd:schema>' ;
CREATE MESSAGE TYPE
[//Adventure-Works.com/Expenses/SubmitExpense]
VALIDATION = VALID_XML WITH SCHEMA COLLECTION ExpenseReportSchema ;
c.Boş bir ileti için bir ileti türü oluşturma
Aşağıdaki örnek, boş kodlama ile yeni bir ileti türü oluşturur.
CREATE MESSAGE TYPE
[//Adventure-Works.com/Expenses/SubmitExpense]
VALIDATION = EMPTY ;
d.İkili veri içeren bir ileti türü oluşturma
Aşağıdaki örnek, ikili veri saklamak için yeni bir ileti türü oluşturur.Çünkü veriyi XML değil, iletinin içeriği doğrulama türü ileti türünü belirtirNONE.Bu durumda, dikkat edin, bu tür bir ileti alır uygulama ileti verileri içerir ve veri türü gerekli olduğunu doğrulamanız gerekir.
CREATE MESSAGE TYPE
[//Adventure-Works.com/Expenses/ReceiptImage]
VALIDATION = NONE ;