2011-10-28 6 views
0

내 기본 관계형 데이터베이스가 MySQL 인 경우 PHP를 호스트 언어로 사용하여 JasperServer 용 MDX 쿼리를 만들 수 있습니까?PHP의 MDX 쿼리

내가 뭘하고 싶은지 OLAP 뷰를 생성하고 (이미지 또는 PDF에 일부 텍스트 기반 형식으로보기) 결과로보기를 받기 위해 JasperServer에 쿼리를 보냅니다.

저는 JasperServer CE 4.2.1을 사용하고 있습니다.

SQL 쿼리를 만들 때와 마찬가지로 응용 프로그램에서 MDX 쿼리를 작성하는 것에 대해 생각하는 것이 맞습니까? 그렇다면 PHP를 사용하여 OLAP 서버에 대한 MDX 쿼리를 만드는 방법이 있습니까?

편집 : 누락 된 정보 추가 : MySQL을 관계형 데이터베이스 서버로 사용하고 있습니다.

+0

OLAP 서버 란 무엇입니까? – ic3

+0

몬드리안을 기반으로하는 Jaspersoft OLAP을 사용하고 있습니다. – Epicurus

+0

몬드리안은 XMLA/MDX (olap4j 참고)와 호환되지만 현재는 PHP XMLA 라이브러리가 아닙니다. – ic3

답변

2

OLAP 서버가 XMLA를 지원할 가능성이 큽니다. XMLA는 특정 형식의 SOAP 이상입니다. 나는 XMLA를 지원하는 PHP 라이브러리를 모른다. 그래서 당신은 어려운 길을 가야 할 것이다.

큰 일은 XML을 마샬링/언 마샬링하는 것이다. -> 표준은 마이크로 소프트에 의해 정의되고 거의 모든 다른 벤더 ->http://msdn.microsoft.com/en-us/library/ms187178%28v=sql.90%29.aspx

어쩌면 당신의 필요에 따라 단순화 할 수 있습니다.

0

Jasper의 TechSupport에 문제가있는 것 같지만 SQLServer의 OpenRowSet을 ConnectionString "PROVIDER = MSOLAP; Data Source = ... 등"매개 변수를 전달하는 것보다 사용할 수 있다고 생각합니다. 행운을 빈다. ! :)

+0

나는 내 질문에이 얘기를 깜빡 했네요,하지만 난 .. MySQL을 사용으로 제한하고 그래서 SQLServer에 기능에 액세스 : – Epicurus

+0

[코드] open ('Provider = MSOLAP; 초기 카탈로그 = LocalHost; 데이터 원본 = DataOLAP;'); \t \t 에코 '

연결 성공했습니다

'. "\ n"; \t \t $ mdx = "열을 {}에 선택하십시오 ... etc.etetetc"; \t \t $ objRst = 새 COM ("ADODB.Recordset") 또는 죽습니다 ("ADO를 시작할 수 없습니다"); \t \t $ objRst-> Open ($ mdx, $ objConn, 0); \t \t while (! $ objRst-> EOF) { \t \t $ objRst-> movenext(); \t \t} \t \t $ objRst-> close(); \t \t unset ($ objRst); \t \t $ objConn-> close(); \t \t unset ($ objConn); \t} \t catch (예외 $ e) { \t \t echo $ e-> getMessage(); \t} ?> –

+0

감사합니다. 최소한 이제는 PHP에서 MDX 쿼리를 만들 수 있다는 것을 알고 있습니다. 그러나 불행하게도 Jasper와 MySQL Server를 사용하지는 않습니다. – Epicurus