2011-02-25 8 views
0

postgres 9.xバージョンの最新のopenX広告サーバー(パブリッシャーサーバー)をインストールしました。openx adserverの統計情報タブでpostgres dbバージョン9.xのエラーが発生しました

ログインと設定が正常に完了した後、[統計情報]タブをクリックすると、次のエラーが表示されます。

mysqlを使ってopenXサーバーをインストールしたときにこのエラーは表示されません。

PEARエラー

MDB2エラー:不明なエラー _doQuery:[エラーメッセージ:ステートメントを実行できませんでした] [最終クエリ実行:PLACEMENT_ID AS d.campaignid、AS ADVERTISER_ID m.clientid SELECTを、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_height AS ad_id、(m.campaignid || IF(LENGTH(market_advertiser_id)> 0、( '_' || market_advertiser_id || '')、 '')|| ad_width || 'x' || ad_height)AS pkey FROM "ox_ext_market_stats" AS s INNER JOIN "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 a(a.clientid = m.clientid)どこでs.ad_id IN(1、 2)AND a.type = 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:列 "s.ad_id"は、GROUP BY句に表示するか、または集計関数で使用する必要がありますnはPEARエラー

]文字65で

MDB2エラー:不明なエラー _doQuery:[エラーメッセージ:ステートメントを実行できませんでした] は、[最後のクエリを実行:ADVERTISER_ID AS SELECT m.clientidを、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_height AS ad_id、(m.campaignid || IF(LENGTH(market_advertiser_id)> 0、( '_' || market_advertiser_id || '')、 '')|| ad_width || 'x' || ad_height)AS pkey "ox_ext_market_stats" AS s INNER JOIN "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"をオンにする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:列 "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についてのメモをすぐに反映しないでコピーします。再起動したApacheを再起動し、キャッシュをクリアしました(README.txtを除くすべてを 'var/cache'から削除します) - 後者で十分です。 –

+0

[this toppic](http://forum.openx.org/index.php?showtopic=503480711)も参考になります –

関連する問題