DB2에서 기본적으로 스키마, 테이블 및 열 이름은 대/소문자를 구분하지 않습니다. 다음 진술을 발행 할 때 :
create table myid.test (
c1 int
c2 int
);
DB2는 스키마, 테이블 및 컬럼 이름을 대문자로 변환합니다. 따라서 시스템 + 탈 로그를 보면 표가 MYID.TEST이고 열 C1과 C2가 있음을 알 수 있습니다.
DB2는 모든 쿼리를 대문자로 폴드합니다 (기본값). 이 테이블을 조회 할 때, 다음과 같은 문장이 동일 :
select c1, c2 from myid.test
SELECT C1, c2 from MYID.TEST
SELECT c1, C2 from MyID.Test
그러나
, DB2 수 사용 대소 문자를 구별 이름 : 스키마를 인용하는 경우/테이블/컬럼 이름을 정의하면 DB2는 정확한 문자열을 사용합니다 :
create table "MyID"."Test" (
c1 int,
"C2" int
);
이 경우 시스템 카탈로그에 대/소문자가 혼합 된 스키마/테이블/열 이름이 표시됩니다.
모든 쿼리, DML 및 DDL에서 스키마/테이블/열 이름을 인용한다는 불행한 (그리고 고통스러운) 부작용이 있습니다.
대/소문자를 혼용하는 것은 좋지 않습니다.
가장 좋은 해결책은 대소 문자를 구별 이름이없는 다시 만들려면 테이블 (하는 것 즉, 따옴표로 스키마/테이블/열 이름을 넣지 마십시오.
을이 함께 모든 것을 무시하는 당신의 필요를 제거한다 ADODB.ADODB에 대한 해결 방법이있을 수 있지만 그 고통은 다른 누구에게도 여전히 존재합니다.