Q&A

  • MS-SQL 2000 에서 필드 갯수 제한이 있나요?
안녕하세요..^^;;

델파이 6에서 개발 했는데 이번에 프로그램 수정하면서 필드를 몇개 추가했습니다. 근데 그 테이블이 필드가 좀 많아요..

대략 150개 정도.. 저도 넘 길어서 다 확인 하는데 오래 걸리죠..

근데 문제는 오늘 필드를 3개 추가했더니 인덱스가 깨지면서... 테이블 사용이 않되더라구요...

이방법 저방법 다 써보구 했는데 해결이 않되서 필드 지우니 잘 되더군요..

혹시나 해서 이곳에 질문을 합니다.

MS-SQL 2000 에 한 테이블에 지정할수 있는 필드 갯수가 있나요?

그냥 혹시나 하는 생각이 들어서요..

답변 부탁드립니다..^^
2  COMMENTS
  • Profile
    성더기 2003.12.19 22:53
    해당 쿼리나 테이블 컴포넌트를 더블클릭하여
    TField가 생성되어 있는지 확인해 보세요..
  • Profile
    nilriri™ 2003.12.19 17:36
    아래 온라인 도움말의 내용입니다..

    예전 제 기억으론 pk에 지정할수 있는 컬럼 갯수에 제한이 있었던거 같은데..
    기억도 안나도 찾지도 못하겠네요..^^;

    아래 내용으로 봐선...다른 이유인듯 싶은데요..에러의 원인이..

    그럼~

    SQL Server에서는 각 데이터베이스 당 20억 개의 테이블, 각 테이블 당 1,024개의 열을 가질 수 있습니다. 행 개수와 테이블의 총 크기는 사용할 수 있는 저장소에 의해서만 제한됩니다. 행 당 최대 바이트 수는 8,060입니다. 정의된 총 너비가 8,060바이트를 초과하는 varchar, nvarchar 또는 varbinary 열로 테이블을 만드는 경우 테이블은 만들어지지만 경고 메시지가 표시됩니다. 이러한 행에 8,060바이트 이상을 삽입하거나 행을 업데이트하여 총 행 크기가 8,060을 초과하게 되면 오류 메시지가 표시되고 명령문이 실패합니다.

    CREATE TABLE 문에 sql_variant 열을 포함하면 다음과 같은 경고가 생성될 수 있습니다.

    The total row size (xx) for table 'yy' exceeds the maximum number of bytes per row (8060). Rows that exceed the maximum number of bytes will not be added.
    이 경고는 sql_variant의 최대 길이가 8016바이트이기 때문에 발생합니다. sql_variant 열에 최대 길이에 가까운 값이 포함되면 행의 최대 크기 제한을 초과할 수 있습니다.

    각 테이블은 최대 249개의 클러스터되지 않은 인덱스와 1개의 클러스터된 인덱스를 포함할 수 있습니다. 여기에는 테이블에 대해 정의된 모든 PRIMARY KEY 및 UNIQUE 제약 조건을 지원하기 위해 생성된 인덱스도 포함됩니다.

    SQL Server는 열 정의에서 DEFAULT, IDENTITY, ROWGUIDCOL 또는 열 제약 조건을 지정하는 순서를 설정하지 않습니다.





    • 전형도
    • 2003.12.22 06:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.12.22 08:47
      안녕하세요. 최용일입니다. OnKeyUp이벤트에서 크기 체크해서 두번째 에디트박스로 포커스 이동시켜보세...
    • 전형도
      2003.12.22 20:15
      감사합니다...하나 더 궁금한것이 있어서요....... 그러면 주민등록번호를 입력할때 에디터박스 1개를 ...
    • romantic
      2003.12.22 20:16
      그건 'MaskEdit'를 쓰면 될텐데요. ㅡㅡ
    • 아폴론
    • 2003.12.22 04:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.12.22 08:43
      안녕하세요. 최용일입니다. FileCreate를 반드시 사용하고 싶으시다면 이미 존재하는 파일을 지우시고 ...
    • 이중철
      2003.12.22 19:55
      Editbox에는 OnExit라는 이벤트가 있거든요.. 이것은 Editbox에서 포커스가 들어 왔다가 잃을때 발...
    • 박희경
    • 2003.12.21 23:13
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김도성
    • 2003.12.21 22:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.12.22 03:10
      안녕하세요. 최용일입니다. 굳이 API를 쓰시는 것 보다는 걍 모들로 호출해서 쓰시는게 좋을거 같은데.....
    • 최주영
    • 2003.12.21 21:29
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.12.22 03:05
      안녕하세요. 최용일입니다. 셋다 모두 가능합니다. 첫번째는 IE Extension쪽으로 자료를 찾아보시면 ...
    • 최주영
      2003.12.22 07:06
      안녕하세요 반갑습니다. 그리고 고맙습니다. 우선 한가지 부터 해결하기로 했습니다 . 역시나 한꺼...
    • 최용일
      2003.12.22 08:34
      안녕하세요. 최용일입니다. MSDN에서 찾아보세요... MSDN에 IE에 관한것만 따로 나온곳이 있는데... 정...
    • 최용일
      2003.12.21 08:48
      안녕하세요. 최용일입니다. TCanvas의 StretchDraw란 메소드를 이용해서 비트맵을 그려주시면 됩니다. ...
    • 이충무
      2003.12.22 22:32
    • 김병만
      2003.12.21 05:36
      감사합니다. 올려주신 파일로 해결했습니다.
    • 죠그셔틀
      2003.12.21 03:26
      제가 알기론 Delphi의 Design Time시에 환경을 관리해주는 유닛으로 알고 있습니다. 이 Unit을 이용...
    • 달파란
    • 2003.12.20 18:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2003.12.22 18:50
      IBOleDb라는 파일입니다 델세상(http://www.delphiworld.net) 자료실이나 팁란을 뒤적거려 보시면 파일이...
    • 김지영
    • 2003.12.20 09:05
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 백털성물
      2003.12.20 18:01
      스트링 그리드의 행자체는 TStrings라는 객체입니다.. 선택한 행자체를 넘긴다면 해당 한수의 변수를 같은...
    • 김지영
      2003.12.21 03:25
      우선 답변 감사드려요... ^^ 그런데.. 여러행을 한꺼번에 넘기려면 어떻게 해야할지 감이 안잡히네요.. ...
    • 최용일
      2003.12.21 08:58
      안녕하세요. 최용일입니다. 여러가지 방법이 있습니다. 님말씀처럼 구조체배열에 넣으셔두 되구... 리스...
    • 김지영
      2003.12.21 23:26
      감사 감사 감사드려요... ^^ 좋은 하루 되세요~~~
    • 이중철
      2003.12.22 19:42
      이번에도 최용일님의 답변에 추가해서 올립니다. 먼저 다이나믹 및 배열은 Setlength가 더 안정적이고요...
    • 최용일
      2003.12.21 08:25
      안녕하세요. 최용일입니다. 동적배열과 string형은 AllocMem, GetMem, New등의 함수대신에 SetLength란 ...
    • Crazy
      2003.12.21 02:04
      소스가 없어서 확실한 원인은 알기 힘들지만 제 생각으로는 조회하는 쪽에 문제가 있는듯 보입니다. 중간...
    • 백털성물
      2003.12.20 18:09
      VCL의 영역중 프로퍼티 등록영역에 해당 VCL를 선언하세요.. 즉.. type   test = class(); p...
    • Crazy
      2003.12.21 02:13
      출력버튼 전에 처리하신다면 디테일의 레코드 카운트로 처리하면 될것 같은데요. Ex) if Query2.RecordCo...
    • 윤혜정
    • 2003.12.19 23:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.12.20 00:50
      안녕하세요. 최용일입니다. ExtractStrings란 함수를 써보세요... var     Str...
    • 최용일
      2003.12.19 23:27
      안녕하세요. 최용일입니다. 폼에다 직접 그리실려면 폼의 OnPaint이벤트에서 그려주는 루틴을 작성하셔...
    • 박수용
    • 2003.12.19 22:25
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.12.19 22:54
      안녕하세요. 최용일입니다. ActiveX언로드시키고 타입라이브러리 열어서 CLSID를 고치세요... 델파이...
    • 박수용
      2003.12.19 23:29
      확장자가 tlb인데요 tbl은 없습니다. 그리구요 refresh imp....란 툴바버튼은 어떤건가요. 처음부터 자...
    • 최용일
      2003.12.19 23:32
      안녕하세요. 최용일입니다. tlb가 맞습니다. 제가 실수했네요... 걍 알아들으시지... 타입라이브러리...
    • 박수용
      2003.12.20 00:43
      너무너무 감사드립니다. 감기 조심하세요.
    • 이중철
      2003.12.19 23:18
      다이나믹 어레이 자체가 포인터 입니다. 예로 var p : pointer; begin   p := p1; end; ...
    • 최용일
      2003.12.19 22:15
      안녕하세요. 최용일입니다. 형선언해서 형변환해서 쓰시는게 편해요... type    &nb...
    • 박준영
    • 2003.12.19 03:24
    • 2 COMMENTS
    • /
    • 12 LIKES
    • 성더기
      2003.12.19 22:53
      해당 쿼리나 테이블 컴포넌트를 더블클릭하여 TField가 생성되어 있는지 확인해 보세요..
    • nilriri™
      2003.12.19 17:36
      아래 온라인 도움말의 내용입니다.. 예전 제 기억으론 pk에 지정할수 있는 컬럼 갯수에 제한이 있었던거...
    • 델초보
    • 2003.12.19 03:18
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.12.19 22:44
      안녕하세요. 최용일입니다. 레지스트리보다는 Shell API함수를 이용하세요... uses ......, ShlObj; ...
    • nilriri™
      2003.12.19 19:12
      샬롬~ ㅡㅡ; 98에선 테스트해보니까..바탕 화면 이라고만 나오네여..ㅡㅡ; 왜그러는지?? 그럼..즐...
    • nilriri™
      2003.12.19 19:26
      98 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders xp HKEY_CUR...