열 이름에 마침표를 사용할 수있는 Proficy Historian에 연결되었습니다. 데이터는 비 DBMS 형식으로 저장되기 때문에 테이블에 스키마가 설정되어 있지 않으므로 openquery
을 사용하여 데이터를 가져올 수 없습니다. 그래서 네 부분 이름 구문을 사용하여 데이터를 가져와야합니다. 이 예제는 작동합니다열 이름에 마침표가있는 열 선택 SQL Server
SELECT * FROM iHist...[SELECT * FROM ihTrend]
하지만이 근처의 구문이 잘못 실패 '.'. SERVER.pid_astatus[07][0].F_CV.Value
SELECT * FROM iHist...[SELECT [SERVER.pid_astatus[07][0].F_CV.Value] FROM ihTrend]
는 이것이 실패 열
이름뿐만와 '에서'키워드 근처 잘못된 구문이다.
SELECT * FROM
iHist...[SELECT [SERVER.pid_astatus[[07]][[0]].F_CV.Value] from ihTrend]`
내가 SQL Server가 열로이 참조 할 수있는 방법에 어떤 아이디어
?편집 :
는 키워드 근처 의 구문이 잘못 내부 작동하지 않습니다 그러나 괄호는 SQL 전화SELECT [SERVER.pid_astatus[07]][0]].F_CV.Value] FROM iHist...[SELECT * FROM ihTrend]
의 외부에서만 작동 탈출 할 수있는 권리 브래킷의
마틴 제안 '에서'.
SELECT * FROM iHist...[SELECT [SERVER.pid_astatus[07]][0]].F_CV.Value] FROM ihTrend]
편집
SELECT * FROM iHist...[SELECT [SERVER.pid_astatus[07]][0]].F_CV.Value]] FROM ihTrend]
나는 열 탈출 : 탈출했다
''@t table ([[[a]]] int)로 @t'에서 [[a]]]를 선택하면 오류가 발생합니다. 기본적으로 [select [[[a]]]를 제외한 다른 모든 조합과 동일합니다. – Andomar
@Andomar - 방금 게시 한 코드가 작동합니까? –
+1 예,'select * from syscolumns where id = OBJECT_ID (...)'는 내 컬럼 이름'[[[a]]]'이 실제로 [[a]'로 이름 붙여진 것을 확인합니다. 잘 잡으세요! – Andomar