2014-11-12 7 views
0

쿼리 분석기를 사용하여 작성한 쿼리가 있습니다. 그것은 분석기에서 작동하지만 Excel에서 실행할 때 잘못된 열 이름 오류가 발생합니다. 오류가 전체 열 이름을 나열하지 않습니다. 전체 열 이름을 대괄호로 묶으면 오류 전체 열 이름이 나열됩니다.Excel의 열 이름이 잘못되었습니다.

나는 다음과 같이 코드를 실행합니다. '내가 대괄호로 코드를 실행하면 난의 오류 얻을

:

잘못된 열 name'shipfromlocation을' 잘못된 열 name'shipfrom :

Select 
    tblarInvoice.shipfromlocation 
    From 
    tblarInvoice 
    Where 
    tblarInvoice.dateshipped >= '10/01/2014' 

나는의 오류

+0

같은 ID로 연결되어 있습니까? 하나는 다른 사람이 허락하지 않을 수도 있습니다. 같은 데이터베이스? 다른 환경 일 수 있으며 현장은 아직 그 환경에 있지 않습니다. – xQbert

+0

예, 동일한 ID로 연결하고 있습니다. 사실 동일한 테이블의 다른 열을 사용하면 쿼리가 올바르게 실행됩니다. shipfromlocation 열을 사용하는 경우에만 오류가 발생합니다. – user3246538

+0

사용중인 드라이버와 관련이 있습니다. 컬럼 길이에 제한이있을 수 있습니다. 열 이름을 더 짧은 이름으로 변경하십시오. 또한 열 이름에 'FROM'이라는 이름으로 문제가있을 수 있습니다.테이블에서 선택하는 뷰를 만들 수 있지만 별칭의 열 이름 드라이버는 SQL을 구문 분석 할 수 있습니다. FROM은 예약어로 생각하고 포기합니다. []을 사용하면 30 자 제한을 넘을 수도 있습니다. 그래서 ... 다른 이름으로 열 이름 별칭을 사용하거나보기에서 선택하십시오. '선택 tblarInvoice.shipfromlocation as sfl ... ' – xQbert

답변

0

사용중인 드라이버와 관련이 있습니다.

아마도 열 길이에 제한이 있습니다. 열 이름을 더 짧은 것으로 시도하고 별칭을 지정하십시오.

열 이름에 'FROM'이라는 이름을 사용하는 데 문제가있을 수 있습니다.

테이블에서 선택하지만 열 이름의 별칭을 갖는 데이터베이스에서보기를 만들 수 있습니까?

드라이버는 SQL을 구문 분석 할 수 있습니다. FROM을 보면 예약어로 생각하고 포기할 수 있습니다. []을 사용하면 30 자 제한을 넘을 수도 있습니다. 그래서 ... 다른 이름으로 열 이름 별칭을 사용하거나보기에서 선택하십시오. 드라이버가 보는 SQL 문자열을 처리 할 때 "보낸 사람" 하고 필드 이름을 확장 [] 당신이 이름을 감을 때는 오류 가 발생합니다 :

SELECT tblarInvoice.shipfromlocation as sfl

근본 원인은 두 가지 중 하나 또는 이들의 조합이다 일부 운전자에게는 한도 인 30 자 이상이어야합니다.

뷰의 별칭을 sFROMLocation과 같은 것으로 변경하여 근본 원인을 찾아 낼 수 있습니다. 오류가 발생하면 드라이버에 FROM이있는 열 이름을 분석하는 문제가있는 것으로 알고 있습니다. sFroLocation으로 변경하면 작동합니까?

또한 오류가 반환되는 경우 열 이름> 30이 사용중인 드라이버에 문제가 있다는 것을 알고 있으면 열 이름을 tblarinvoiceshipfrolocationtest로 설정할 수 있습니다.

다음으로 변경하면 으로 변경됩니다. 작동하면 길이가 31 인 경우 작동하지 않습니다. 30은 그렇다. 다시 증거 드라이버는 30 자 이상의 열 이름을 지원할 수 없습니다.

근본 원인을 찾으려는 경우에만 달라집니다. P

관련 문제