본문 바로가기
Programming/Unity

[Unity3D] Unity에서 MSSQL 연동 및 사용하기 , 빌드 후 Encoding 949 문제 해결

by 타임박스 2021. 11. 7.
반응형


✔ Unity에서 MSSQL 연동 및 사용

- MSSQL 연결 및 데이터 조회- Encoding 949 이슈 해결 방안



Unity에서 MSSQL은 쉽게 접근이 가능하다. 

유니티에서 C# System.data.dll 을 포함하고 있어 쉽게 연결이 가능하다.

연결을 위해서는 MSSQL이 설치되어 있어야한다.

설치관련은 아래 포스트 참조.

2019.09.10 - [DB] - [MSSQL] SQL Server 2017 다운로드 및 설치

 

[MSSQL] SQL Server 2017 다운로드 및 설치

✔ MSSQL 2017 설치 - SQL Server 2017 설치 및 환경 설정 MSSQL Server Management Studio 설치 본 포스트는 SQL 다운로드 및 설치 방법에 대해서 알아보겠습니다. 1. 다운로드 https://www.microsoft.com/ko-kr/..

timeboxstory.tistory.com

 

● MSSQL 연결 및 데이터 조회

- 유니티에서 MSSQL 연결도 C#과 다를게 없다. 

- 스크립트를 생성하고 아래 포스트를 참고하여 MSSQL 연결 및 활용 코드 작성

2019.09.26 - [Programming/C#] - [C#] MSSQL 접속 , 데이터 조회(select), 삽입(insert), 업데이트(update) 쿼리

 

[C#] MSSQL 접속 , 데이터 조회(select), 삽입(insert), 업데이트(update) 쿼리

✔ C# MSSQL 연결 select, insert, update 쿼리 예제 접속 문자열(ConnectionSting) 설정 Data Source : 연결할 주소 Initial Catalog : 초기 데이터 베이스 이름 Windows 인증 사용예 string strConn = "Data Sou..

timeboxstory.tistory.com

 

● 배포시 문제 - 빌드 후 주의사항

Unity에서 mssql을 사용할때 System.data.dll에 있는 SqlClient를 사용하게 된다.

Unity 에디터상에서는 mssql 연결, 쿼리 등 동작이 잘될것입니다.

하지만 빌드(StandAlone, Android 등) 후에  실행파일을 실행하면 아래와 같은 에러가 발생된다. ( 빌드할때 development Build 체크하면 확인가능 )

언어마다 번호는 다르게 나타난다. ( 한글의 경우 949에러로 나타난다. )

unity System.NotSupportedException:
Encoding 949 data could not be found.

해결방안 ( 버전마다 상이하니 주의를 잘보기 바람  )

1. 먼저 프로젝트 셋팅에서 .Net 4.X 인지 확인한다. (.Net 2.0이면 4.X로 변경해야됨)

2. I18N.Cjk.dll을 찾는다

위 화면 경로에서 I18N.CJK.dll을 복사한다.

#주의 : 2020버전이상에서는 위경로/unity/unityjit폴더 안에 있는 I18N.CJK.dll을 복사해야한다.

3. 빌드한 폴더의 "빌드이름_Data/Managed" 폴더 안에 붙여넣기 한다.

4. 프로그램 실행. 

 

※참고 : 한국어 인코딩 이외의 다른 국가 언어 인코딩 필요시 

 - I18N.CJK.dll : 한국, 일본, 중국 등

 - I18N.WEST : 서부

 - I18N.MidEast : 중동

지원 국가 영어로 표시되어 있어 해당언어로 인코딩할때 필요한 언어 DLL을 넣어서 쓰면됨.

 

반응형

댓글