알림톡 ita 테이블 타입 관련

안녕하세요.

과거 부터, MSSQL 에서 ITA 사용해서 알림톡을 발송하고있습니다.

다만, 최근 이모지를 포함한 문구 요청이 있어서, 템플릿 등록하고 진행하다가 안되서 보니까,

tran 테이블의 content가 varchar 라서 ?? 로 들어가던데, 이거 저희가 nvarchar 로 변경할 경우, 문제가 발생할 것 같은데, 혹시, 이모지를 발송할 수 있는 방법이 있을까요??

예시 이모지 : :pushpin: , :warning:

안녕하세요. 비즈고를 이용해주셔서 감사합니다! :smiley:

문의주신 내용 확인하였습니다.

현재 MSSQL ITA 방식의 전송 테이블(ita_talk_tran)의 content 컬럼이 varchar 타입으로 정의되어 있어, Unicode 범위의 일부 이모지 문자가 저장되는 과정에서 ??로 변환되는 것으로 확인됩니다.

이모지와 같은 Unicode 문자를 정상적으로 저장하기 위해서는 말씀하신것처럼 content 컬럼을 nvarchar 타입으로 사용하는 방식이 필요합니다.

다만, ITA는 전송 테이블뿐만 아니라 발송 처리 및 월별 로그 테이블 등 관련 테이블/프로시저가 연계되어 있어 고객사에서 ita_talk_tran.content 컬럼만 임의로 nvarchar로 변경하시는 경우 데이터 이관 또는 발송 처리 과정에서 예상하지 못한 문제가 발생할 수 있습니다.

검증 및 테스트 할 수 있는 환경이 있으시다면
현재 운영환경을 그대로 복사 및 설치 후 아래와 같이 처리하여 이슈 없는지 확인 후 적용하는것을 권장드립니다. (복사하여 기존 계정을 그대로 기동 시 운영환경의 리포트를 그대로 수신할 수 있으니 주의 바랍니다.)

  1. 전송 테이블 컬럼 변경
ALTER TABLE ita_talk_tran
ALTER COLUMN content NVARCHAR(4000) COLLATE Korean_Wansung_CS_AS NOT NULL;
  1. 월별 로그 테이블도 동일하게 변경

현재 생성되어 있는 로그 테이블이 있다면 해당 테이블의 content 컬럼도 nvarchar(4000)으로 변경해 주셔야 합니다.

예:

ALTER TABLE ita_talk_log_202608
ALTER COLUMN content NVARCHAR(4000) COLLATE Korean_Wansung_CS_AS NOT NULL;

향후 생성되는 월별 로그 테이블에도 동일하게 적용될 수 있도록 sp_ita_talk_log_create 프로시저 내 content varchar(4000) 부분도 nvarchar(4000)으로 변경해 주시기 바랍니다.

  1. 적용 후 테스트
    변경 후 아래와 같이 이모지가 포함된 메시지로 테스트 부탁드립니다. (실제 발송이 되지 않아도 테이블에 삽입 후 Log테이블로 이관되는지 확인하시면 됩니다!)
안녕하세요 😀
테스트 메시지입니다. 😊👍

참고 부탁드립니다.
감사합니다.