Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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); } } } |