1

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

その後、参照用にメールを永久に保存する必要があります。Exchange 2010 はメールボックスで 10Gb および 100,000 個のアイテムしかサポートしないため (PST ファイルを使用しない場合)、より永続的なストアである SQL にメッセージを取得する必要があります。

私は SQL 2005 を実行していて、そこに電子メールを保存したいのですが、画像としてではなく、必要に応じて検索できるようにしたいと考えています。Exchange Web サービスを使用して電子メールを取得しているため、メッセージの完全な XML が既にあります。メッセージ XML スキーマが関連付けられている XML フィールドに格納すると (パフォーマンスを向上させるため)、最善の解決策が得られるはずです。

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

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

どんな助けや援助も喜んで受け取ります。

ありがとう、マイク

4

2 に答える 2

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>
于 2010-05-28T07:42:03.503 に答える
0

XML 列に格納し、その列にインデックスを付けて検索できます。

メッセージ xml スキーマに関しては、おそらく 1 つあるのですが、見つかりません。

于 2010-05-18T12:52:25.870 に答える