2012-03-14 2 views
0

여러 문장을 시도했지만이 중 적어도 하나는 데이터를 반환하지만 오류 메시지가 나타납니다. 지연 준비를 준비 할 수 없습니다. ')'근처의 구문이 잘못되었습니다. 'DECLARE'키워드 근처의 구문이 잘못되었습니다. 명명 된 쿼리를 만들 때 실행되는 다음 문은 다음과 같습니다.연결된 서버에 대한 데이터 원본 뷰를 만들 때 올바른 구문은 무엇입니까?

SELECT[vwStatistics].* 
FROM 
(
***THIS IS MY QUERY*** 
DECLARE @SQL1 VARCHAR(500) 
SET @SQL1 = 'SELECT  * 
FROM OPENQUERY(PORTAL, ''SELECT DeviceID, Date, Count 
FROM printer_stats.Statistics 
GROUP BY DeviceID'')' 
EXEC (@SQL1) 
***END OF MY QUERY*** 
) 
AS[vwStatistics] (Microsoft.AnalysisServices.Controls) 

링크 된 서버 및 SSAS에 익숙하지 않습니다. 이것은 회사의 첫 번째 큐브이며 연결된 서버입니다. 내 쿼리는 Management Studio에서 실행되며 SSRS 보고서를 만듭니다. 그러나 느립니다. 제안 사항이 도움이 될 것입니다. 웹상의 상황에 대한 구문에 대한 정보는 많지 않습니다. 나는 그런 상황을 찾고 있었고 서버에서 변경을 시도하는 것 외에 다른 많은 도움을 찾지 못했습니다. EX : openrowset이 켜져 있는지 확인하고 OWC 구성 요소를 다시 설치하십시오.이 기능이 없습니다.

SELECT DeviceID, CAST(statsdt AS CHAR) AS sdt, Count FROM OPENQUERY (
    PORTAL, 'select * from (select DeviceID,CAST(Date AS CHAR) statsdt, Count from printer_stats.Statistics) as pstats') 
+0

이것은 우리가 일을 찾을 것입니다 : – user1040277

답변

0

우리가 일을 찾을 것입니다 OPENQUERY (포털에서 카운트, SDT 그대로의 DeviceID, CAST (CHAR AS statsdt)을 선택, '*에서 선택 (선택 DeviceID, CAST (날짜 AS CHAR) statsdt, printer_stats.Statistics에서 계산)를 pstats '로 사용)