필드 이름의 기간이있는 SQL Server보기에 대한 Jet ODBC 링크를 어떻게 작성합니까?

StackOverflow https://stackoverflow.com/questions/160467

문제

Access 2003 (Jet) 데이터베이스에서 다음과 같은 기간이 포함 된 별명 필드 이름을 포함하는 SQL Server 호스팅보기로 ODBC 링크를 작성해야합니다.

Seq.Group

보기 뒤의 SQL 소스에서 필드 이름은 사각형 괄호로 둘러싸여 있습니다 ...

SELECT Table._Group AS [Seq.Group]

... 따라서 SQL Server는보기 생성에 대해 불평하지 않지만 Jet DB (프로그래밍 방식 또는 Access 2003 UI를 통해)에서 ODBC 링크를 작성하려고 할 때 오류 메시지를받습니다.

'seq.group'은 유효한 이름이 아닙니다. 유효하지 않은 문자 나 구두점이 포함되어 있지 않으며 너무 길지 않도록하십시오.

불행히도, 나는 다른 제품의 일부이기 때문에보기의 구조를 수정할 수 없으므로 필드 이름이 그 방식대로 붙어 있습니다. 나 ~할 수 있었다 구두점이없는 필드 이름으로 내 자신의 견해를 추가하지만, 업그레이드, 핫픽스 등이있을 때마다 또 다른 유지 보수 지점이되기 때문에 SQL Server를 전혀 수정하지는 않겠습니다. 누구든지 더 나은 해결 방법을 알고 있습니까?

도움이 되었습니까?

해결책

기술적으로 도트를 탈출하지는 않았지만 실제로 귀하의 제안은 했다 다른 대안을 깨닫게합니다. 탈출 코드를 "SQL"서버로 어떻게 "통과"할 것인지 궁금하지만, 왜 나에게 시작되었습니다. 왜 ODBC 링크 테이블 대신 "SQL Pass-Strough Query"를 사용하지 않습니까? SQL Server 데이터에 대한 읽기 액세스 만 필요하므로 잘 작동합니다! 감사!

다른 팁

그냥 여기서 추측 : 도트를 탈출하려고 했습니까? [seq .group]과 같은 것?

또 다른 제안은 기존 서버를 수정하지 않고 SQL Server에 새로운보기를 추가하는 것입니다. 초기보기가 "솔루션"의 일부이더라도 새로운 견해를 추가하는 것을 금지하지는 않습니다.

SELECT Table._Group AS [Seq_Group]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top