2011-02-25 1 views
0

postgres 9.x 버전의 최신 openX 광고 서버 (게시자 서버)가 설치되었습니다.openx adserver 통계 탭 오류 (Postgres db 버전 9.x 포함)

성공적인 설치 및 구성 후 "통계"탭에서 로그인하고 클릭하면 다음 오류가 표시됩니다.

mysql을 사용하여 openX 서버를 설치했을 때이 오류가 나타나지 않습니다.

PEAR 오류

MDB2 오류 : 알 수없는 오류 _doQuery : [오류 메시지 : 문을 실행할 수 없습니다] [마지막 쿼리 실행 : PLACEMENT_ID AS d.campaignid, AS 광고주 ID m.clientid 선택, s.ad_id AS ad_id, SUM (s.impressions) AS sum_views, SUM (s.clicks) AS sum_clicks, SUM (s.revenue) AS sum_revenue, m.campaignid || IF (LENGTH (market_advertiser_id)> 0, ('_'|| market_advertiser_id || ''), '') || ad_width || 'x'|| ad_id AS_id, (m.campaignid || IF (LENGTH (market_advertiser_id)> 0, ('_'| market_advertiser_id || ''), '') || ad_width || 'x'|| ad_height) AS pkey "ox_ext_market_stats"AS 내부 구성원 "ox_banners"AS d ON (d.bannerid = s.ad_id) INNER JOIN "ox_zones"AS z ON (z.zoneid = s.zone_id) INNER JOIN "ox_campaigns"AS m ON (INNER JOIN "ox_clients"AS ON (a.clientid = m.clientid) WHERE s.ad_id IN (1, 2) AND. 유형 = 1 AND s.zone_id <> 0 및 s.date_time> = '2011-02-22 00:00:00'AND s.date_time < = '2011-02-22 23:59:59 'GROUP BY advertiser_id, placement_id, pkey]

[네이티브 메시지 : ERROR : column "s.ad_id"는 GROUP BY 절에 나타나거나 집계 함수에서 사용해야합니다 n 개의 문자로 (65)]

PEAR 오류

MDB2 오류 : 알 수없는 오류 _doQuery : [오류 메시지가 : 문을 실행할 수 없습니다] [마지막으로 실행 된 쿼리 : m.clientid 선택하면 광고주 ID, PLACEMENT_ID AS d.campaignid , s.ad_id AS ad_id, SUM (s.impressions) AS sum_views, SUM (s.clicks) AS sum_clicks, SUM (s.revenue) AS sum_revenue, m.campaignid || IF (LENGTH (market_advertiser_id)> 0, ('_'|| market_advertiser_id || ''), '') || ad_width || 'x'|| ad_id AS_id, (m.campaignid || IF (LENGTH (market_advertiser_id)> 0, ('_'| market_advertiser_id || ''), '') || ad_width || 'x'|| ad_height) AS pkey "ox_ext_market_stats"AS 내부 구성원 "ox_banners"AS d ON (d.bannerid = s.ad_id) INNER JOIN "ox_campaigns"AS m ON (m.campaignid = d.campaignid) INNER JOIN "ox_clients"를 ON으로 설정 a.clientid = m.clientid) s.ad_id IN (1,2) AND s.zone_id = 0 AND a.type = 1 AND s.date_time> = '2011-02-22 00:00:00'AND s .date_time < = '2011-02-22 23:59:59'AND s.zone_id = 0 GROUP BY advertiser_id, placement_id, pkey]

[네이티브 메시지 : ERROR : column "s.ad_id"가 GROUP BY 절 또는 문자 65의 집계 함수에 사용] enter image description here

+0

나에게 PostgreSQL 쿼리처럼 보이지 않습니다. PostgreSQL에서는 모든 쿼리 속성을 그룹화하거나 병합 함수에서 사용해야합니다. 또한 쿼리에 사용되는 경우에는 MySQL 구문이 사용됩니다. – jmz

답변

2

좋아, 해결책을 찾았습니다. 문제를 해결하려면 1031 행 다음에 lib/max/SqlBuilder.php에이 코드를 추가해야합니다.

$ aGroupColumns [] = "s.ad_id";

+1

소스로 변경 한 후 openx 서버를 다시 설치해야하는 경우가 있습니다. –

+0

이것은 매우 유용한 힌트였습니다! 고마워요! 그것은 나에게 많은 시간을 절약 해주었습니다 ... 최신 버전의 라인 (2.8.10)은 1032 이후입니다. 1034 라인의 조건에서 마지막 라인으로 사용했습니다. OpenX에 대한 노트를 즉시 반영하지 않습니다. 아파치를 다시 시작하고 캐시를 지웠다. ('var/cache'에서 README.txt를 제외한 모든 것을 지운다.) - 나는 후자만으로 충분하다고 생각한다. –

+0

[this toppic] (http://forum.openx.org/index.php?showtopic=503480711)도 도움이 될 수 있습니다. –