안녕하세요..^^
개발 환경
1. 델파이3 or 델파이6
2.MSSQL 2000 sp3
3. C/S
프로그램을 개발하던중 갑자기 의문이 생겨서 이렇게 문의 드립니다.
사용자 권한을 설정하는 테이블이 있는데 메뉴별 권한을 가지고 있는 필드가 있씁니다.
확인해 보니 기존 개발자가 필드 길이를 varchar 254 로 잡아 놓았더군요..
근데 메뉴가 여러개 추가 되면서 254개를 넘어가게 되어 제가 임의적으로 varchar 300 으로 필드 길이를 늘려서 사용해 보려고 했습니다.
당연히 필드는 잘 늘어 났구요..
근데 이상하게 권한 설정 프로그램에서 권한 필드를 인식 못하는 겁니다. 그것도 갑자기..
그래서 다시 필드 길이를 254로 돌려 놓았더니 실행이 되더군요..
프로그램에서는 String 변수를 사용했는데.. 음..
혹시 varchar 의 길이가 254로 고정되어 있나요?
아님 델파이에서 String 변수의 길이가 고정 되어 있나요?
제가 초보라 잘 모르겠네요..
알려 주세요.. 부탁 드립니다..
그럼...^^
DBMS의 특성이라고 해야할지 모르겠습니다만
일반적으로 델파이의 TQuery컴포넌트를 데이터을 가져올때 TField객체를 만들어서 가져옵니다
근데 이게 웃기는게 오라클은 varchar(4000) 이런식으로 하면 AsString으로 해도 다 잘나옵니다만
MS-SQL은 255자리까지 밖에 인식을 못합니다
즉 varchar(300)인 필드를 AsString으로 불러오면 데이터를 다 못불러온다는 거죠..