블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

[주의] 레지스트리를 수정하는 내용이니 주의해서 사용하세요.



C# 으로 OleDB를 이용해서 Excel을 읽어 들이고, Sqlite(.db)로 변환하는 Converter를 만들어서 사용하는 데


긴 문자열을 넣었더니 잘려서 컨버팅 되길래 확인해보니 255 글자 제한이 걸려 있다.


검색해서 확인해보니 여러가지 해결 방법들이 포스팅 돼 있는데 조금씩 안맞아서 확인해보고 정리해서 올려 놓는다.



[레지스트리 수정으로 255 글자 제한 풀기]


아래 버전 및 OS bit에 맞는 레지스트리를 찾아가서 TypeGuessRows 값을 0으로 바꾸면 된다.

(참고: 개발에 사용된 Excel 버전임. 윈도우 설치된 엑셀 버전이 아님)

(기본 값은 8인데, DataSet을 만들 때 기본으로 설정 된 윗 8줄에 있는 가장 큰 글자수를 DataType 길이로 잡는다고 한다.

 기본 글자 제한은 255자이고, 0으로 바꾸면 전체를 검사해서 DataType 길이로 잡는다고 함.)


[주의] 성능상의 이유로 글자수를 제한(Default:8) 하는 거라고 하니 감안해서 사용할 사람만 하기를..


  [Windowns 32bit]

Excel 2000, 2003 (xls)

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

  (Excel 97 = 3.5)


- Excel 2013 (xlsx)

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel

  (2016 = 16.0, 2013 = 15.0, 2010 = 14.0, 2007 = 12.0)


  [Windowns 64bit]

Excel 2000, 2003 (xls)

  HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel

  (Excel 97 = 3.5)


- Excel 2013 (xlsx)

  HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel

 (2016 = 16.0, 2013 = 15.0, 2010 = 14.0, 2007 = 12.0)



[레지스트리 파일 다운로드]

Fix_255_Char_32bit_Excel_2000_2003.reg

Fix_255_Char_32bit_Excel_2007.reg

Fix_255_Char_32bit_Excel_2010.reg

Fix_255_Char_32bit_Excel_2013.reg


Fix_255_Char_64bit_Excel_2000_2003.reg

Fix_255_Char_64bit_Excel_2007.reg

Fix_255_Char_64bit_Excel_2010.reg

Fix_255_Char_64bit_Excel_2013.reg



    [Excel 데이터 수정으로 255 글자 제한 풀기] (확인 안해봤음)


- 위에도 적었지만 DataSet을 만들 때 기본으로 설정 된 윗 8줄에 있는 가장 큰 글자수를 DataType 길이로 잡는다고 한다.

  8줄 이내에 255 글자 이상의 사용하지 않는 Dummy 데이터를 넣으면 해결 된다고 함. 




[참조] http://www.todal.net/241?category=367351

[참조] http://it-developer.tistory.com/427

[참조] http://lemondory.tistory.com/129

[참조] http://ariswear.tistory.com/37

반응형
Posted by blueasa
, |