OCS Archiving 관련 정보 – 1. P2P 인 경우

OCS에서 IM은 모두 서버를 경유토록 되어 있으며, Archiving Server를 통해 SQL Server에 대화 내용을 저장 할 수 있습니다.

대화 내용은 SQL DB에 저장되므로, Query를 통해서 쉽게 특정 단어나 통계 자료를 도출해 낼 수가 있습니다. 하지만 여기서 문제가 되는 부분이 RTF 형식의 메시지가 주고 갔을 때 아래의 Body Column과 같이 특수한 문자 구조로 저장이 되는 것입니다.

clip_image001

경우 단어 검색이나 통계 자료 도출 해당 대화 내역이 빠지게 되는 상황이 발생 수도 있습니다 .

이러한 문제를 해결하기 위한 방안은 2가지가 있습니다 .

1. RTF 가 아닌 Text만으로 IM을 진행하도록 하는 방법

IM 대화에서 RTF 형식의 메시지를 주고 받는 것을 금지하면 , 모든 대화 내용은 Text만 저장이 되며 쉽게 검색이 가능합니다 .

설정 방법은 아래와 같이 registry를 설정하거나 Group Policy를 통해 기능 구성이 가능합니다 .

HKLM\Software\Policies\Microsoft\Communicator\DisableRTFIM (Reg_Dword) = 1

2. RTF 형식의 메시지를 변환해서 사용하는 방법

일단 저장된 내용은 글자가 깨진 것이 아니라 RTF 형식으로 저장이 것입니다 .

RTF 형식은 Managed Code를 통해서 쉽게 Converting 할 있습니다 . 새로운 Column을 추가하여 managed code를 통해 converting 한 결과를 DB에 넣은 다음 Query를 동작시키면 사용 가능합니다.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication2

{

public partial class Form1 : Form

    {

public Form1()

        {

            InitializeComponent();

RichTextBox rtb = new RichTextBox();

            rtb.Rtf = @"SQL Body Column RTF 문자열";

MessageBox.Show(rtb.Text);

        }

    }

}