質問

メールの到着とともにプログラムフローを開始するアプリケーションがあります。メールをアプリケーションにリンクする必要があります。これは、メッセージのカスタムプロパティを介して行う予定です。

その後、私は永遠に参照のために電子メールを保存する必要があります。 Exchange 2010はメールボックス内の10GBと100,000のアイテムのみをサポートしているため(PSTファイルを使用せずに)、メッセージをより永続的なストアSQLに入れる必要があります。

私はSQL 2005を実行していますが、そこにメールを保存したいのですが、画像としてではありませんので、必要に応じて検索できます。 Exchange Webサービスを使用して電子メールを取得しているので、メッセージ用の完全なXMLをすでに持っています。それをXMLフィールドに保存すると、それに関連付けられたメッセージXMLスキーマがある(パフォーマンスを支援するため)は、最良のソリューションを提供するはずです。

私の問題は、メッセージのXMLスキーマを取得することです。どこにも見つけることができないようで、メッセージをSQLに入れるためのオンラインコンテンツはあまりないようです。

私はこれについてすべて間違っていますか、それとも私にとってより良い解決策がありますか?メールボックスは、年間60万以上のメールを受信すると予測されています。

助けや支援は喜んで受けられます。

ありがとう、マイク

役に立ちましたか?

解決

使った 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>

他のヒント

XML列に保存し、その列をインデックスして検索できます。

メッセージXMLスキーマについては、おそらく1つありますが、見つかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top