본문 바로가기

카테고리 없음

OleDb 와 Excel 글자짤림

황당한 일을 겪었다


excel을 이용해서 DB업데이트 하는 부분이 있었는데


excel에는 잘 등록 됐는데 DB에서는 짤려 들어갔다


원인을 살펴보니


OLEDB문제였다


해당 Excel파일을 열고 DataSet을 만들때 기본으로 설정된 윗 8줄에 가장큰 글자수를 DataType 길이로 잡는다.(256문자보다 작으면 256)


이리하여 9번째줄에 가장 긴 문장이 있을경우 문제가 생긴다.


해결방법


TypeGuessRows의 값을 변경 하려면 다음과이 같이 하십시오.

  1. 시작 메뉴에서 실행을 클릭 합니다. 실행 대화 상자에서 Regedt32입력 한 다음 확인 을 누릅니다.
  2. 레지스트리 편집기에서 다음 키를 엽니다.

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

    참고 64 비트 시스템의 경우 해당 키는 다음과 같습니다.

    HKLM\SOFTWARE\wow6432node\microsoft\jet\4.0\engines\excel
  3. TypeGuessRows 를 두 번 클릭.
  4. DWORD 편집기 대화 상자에서 자료에서 10 진수 를 클릭 합니다.  데이터에 대 한 포괄 시간 16 사이의 값을 입력 합니다.
  5. 확인누른 다음 레지스트리 편집기를 종료 합니다.

(레지스트리 수정 없이)이이 문제를 해결 하려면 두 번째 방법은 있는지는 255 문자 데이터 필드를 행 이상 인지 확인 하는 것, 원본 데이터 파일 처음 8 행에 표시 됩니다.