2010-05-18 42 views
1

我有一個應用程序,它將在電子郵件到達時啓動程序流程。我將需要將電子郵件鏈接到我的應用程序,我將通過消息的自定義屬性來完成此操作。在Exchange中存儲Exchange 2010電子郵件

然後,我將需要存儲電子郵件,以供永久參考。由於Exchange 2010僅支持郵箱中的10Gb和100,000個項目(不使用PST文件),因此我需要將郵件轉移到更永久的存儲區SQL中。

我正在運行SQL 2005,我想將電子郵件存儲在那裏,但不是作爲圖像,所以如果需要的話我可以搜索它。由於我使用Exchange Web服務來獲取電子郵件,因此我已經擁有完整的消息XML。我認爲將它存儲在一個XML字段中,該字段具有與之關聯的Message XML模式(以幫助提高性能)應該爲我提供最佳解決方案。

我的問題是獲取消息的XML模式。我似乎無法在任何地方找到它,並且似乎沒有太多用於將消息放入SQL的在線內容。

我對此有何看法?或者有更好的解決方案嗎?該郵箱預計每年會收到超過60萬封電子郵件。

任何幫助或援助將愉快地收到。

謝謝, 邁克

回答

1

我用XMLSpy來生成基於XML文件的模式。它不會是完美的,但它適用於我。

XMLSpy生成的比以下更多,但它太嚴格了,而且SQL也沒有驗證它。所以我拿出了一些額外的東西,並保持它的美觀和簡單。

這裏是它生成的MessageType XML模式;

<?xml version="1.0" encoding="UTF-8"?> 
<!--W3C Schema generated by XMLSpy v2010 rel. 3 (x64) (http://www.altova.com)--> 
<xs:schema xmlns:n1="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:import namespace="http://schemas.microsoft.com/exchange/services/2006/types" schemaLocation="messagetype1.xsd"/> 
    <xs:element name="MessageType"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element ref="n1:ItemId"/> 
       <xs:element ref="n1:ParentFolderId"/> 
       <xs:element ref="n1:ItemClass"/> 
       <xs:element ref="n1:Subject"/> 
       <xs:element ref="n1:Sensitivity"/> 
       <xs:element ref="n1:DateTimeReceived"/> 
       <xs:element ref="n1:Size"/> 
       <xs:element ref="n1:Importance"/> 
       <xs:element ref="n1:IsSubmitted"/> 
       <xs:element ref="n1:IsDraft"/> 
       <xs:element ref="n1:IsFromMe"/> 
       <xs:element ref="n1:IsResend"/> 
       <xs:element ref="n1:IsUnmodified"/> 
       <xs:element ref="n1:DateTimeSent"/> 
       <xs:element ref="n1:DateTimeCreated"/> 
       <xs:element ref="n1:DisplayCc"/> 
       <xs:element ref="n1:DisplayTo"/> 
       <xs:element ref="n1:HasAttachments"/> 
       <xs:element ref="n1:Culture"/> 
       <xs:element ref="n1:EffectiveRights"/> 
       <xs:element ref="n1:LastModifiedName"/> 
       <xs:element ref="n1:LastModifiedTime"/> 
       <xs:element ref="n1:IsAssociated"/> 
       <xs:element ref="n1:WebClientReadFormQueryString"/> 
       <xs:element ref="n1:ConversationId"/> 
       <xs:element ref="n1:Sender"/> 
       <xs:element ref="n1:IsReadReceiptRequested"/> 
       <xs:element ref="n1:ConversationIndex"/> 
       <xs:element ref="n1:ConversationTopic"/> 
       <xs:element ref="n1:From"/> 
       <xs:element ref="n1:InternetMessageId"/> 
       <xs:element ref="n1:IsRead"/> 
       <xs:element ref="n1:ReceivedBy"/> 
       <xs:element ref="n1:ReceivedRepresenting"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
</xs:schema> 
0

,你可以將它存儲在XML列,索引列,並通過它進行搜索。

至於消息xml架構,可能有一個,但我找不到它。

+0

我想我沒有讓自己清楚。一個XML列正是我的計劃,但獲取XML模式是我的問題。 但謝謝你確認我的方法。 – 2010-05-19 07:46:49

相關問題