OCS Archiving 관련 정보 – 1. P2P 인 경우
OCS에서 IM은 모두 서버를 경유토록 되어 있으며, Archiving Server를 통해 SQL Server에 대화 내용을 저장 할 수 있습니다.
대화 내용은 SQL DB에 저장되므로, Query를 통해서 쉽게 특정 단어나 통계 자료를 도출해 낼 수가 있습니다. 하지만 여기서 문제가 되는 부분이 RTF 형식의 메시지가 주고 갔을 때 아래의 Body Column과 같이 특수한 문자 구조로 저장이 되는 것입니다.
이 경우 단어 검색이나 통계 자료 도출 시 해당 대화 내역이 빠지게 되는 상황이 발생 할 수도 있습니다 .
이러한 문제를 해결하기 위한 방안은 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); } } } |