|
안녕하세요?
일전에도 유사한 질문을 드렸다가 해결책을 찾았었는데요,
지금 다시 알 수 없는 상황이 되어 이렇게 질문을 드립니다. ㅠ_ㅠ
현재 두 대의 컴퓨터를 가지고 테스트를 하는 중인데요,
두 컴퓨터 모두 윈도우 2000에 MSSQL Server가 깔려 있습니다.
다른점이라면 한 쪽은 SQL Server가 한글판인지 메뉴가 한글로 나오구요,
다른 컴퓨터는 영문판인지 메뉴가 영문으로 나옵니다.
이 상태에서 다음과 같은 질의어를 실행해봤습니다.
insert into A values('1
2
3
4
5
6
.......
19999
20000')
즉, 입력하고자 하는 데이터의 길이가 약 50k 바이트 정도 되구요,
중간에 엔터가 많이 들어가 있습니다.
물론 A 테이블의 필드 타입은 text 입니다.
이 질의어를 두 컴퓨터에서 실행해보았더니요,
메뉴가 영어로 나오는 쪽은 입력이 잘 됩니다만,
메뉴가 한글로 나오는 쪽은 입력이 되지 않습니다; -_-;;
약 32k 바이트에 가까운 길이에서 잘리는 것을 보면 아마 BLOB 데이터의 길이때문인것 같은데요,
특이한 것은 이 두 컴퓨터를 하나의 ODBC로 연결해 보았다는 것입니다.
즉, ODBC를 설정해서 한 컴퓨터에 접속, 위의 질의어를 실행해보았구요,
다음에 ODBC 설정을 바꾸어서 다시 다른 컴퓨터에 접속, 위의 질의어를 실행해보았습니다.
ODBC가 같은 것이니 BDE Engine도 당연히 같은 이름으로 설정되어져 있구요,
BDE Engine의 BLOB Size도 -1 로 설정해두었습니다.
그런데 이 상황에서 정말 이상한게 있는데요;;;;;;
아마도 BLOB Size가 어딘가에서 32k로 설정되어져 있을 것이다!!!! 라는...
그런 생각으로.. 질의어를 바꾸어서 테스트해봤습니다.
insert into A values('1.2.3.4.5.6.......19999.20000')
즉, 앞서 실행했던 질의어에서 엔터만 모두 빼서 한 줄로 만든 것입니다.
이 질의어를 실행했는데요...
... 이번에는 두 컴퓨터 모두 완벽하게 처리가 됩니다; -_-;;;
말씀드렸던대로 입력된 데이터의 길이는 약 50k 정도 되기에....
32k의 BLOB Size와는 큰 상관이 없는듯 보입니다;;;
이걸 어떻게 이해해야 하는 건가요?;;;;;;
무언가... SQL Server에서 엔터의 처리와 관련한 설정부분이 존재하는 것인가요!?!?
고수님들의 도움을 절실히 기다리겠습니다;;;;; ㅠ_ㅠ
즐거운 하루되시길.... ㅠ_ㅠ
|