PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
22428 06/01/30 22:15:22 RE(4):PB6.5: ORA-24347 グループ関数にNull... の警告について By カズ2002
22427 06/01/30 21:00:54 RE(3):PB6.5: ORA-24347 グループ関数にNull... の警告について By Potato
22426 06/01/30 20:40:33 RE(2):PB6.5: ORA-24347 グループ関数にNull... の警告について By カズ2002
22425 06/01/30 18:43:54 RE(1):PB6.5: ORA-24347 グループ関数にNull... の警告について By Chicchi
22423 06/01/29 00:05:04 PB6.5: ORA-24347 グループ関数にNull... の警告について By カズ2002

カテゴリ:PowerBuilderの開発環境
日付:2006年01月30日 20:40 発信者:カズ2002
題名:RE(2):PB6.5: ORA-24347 グループ関数にNull... の警告について

Chicchiさんはじめまして。

助言ありがとうございます。拝見させて頂きました。

>ORA-24347 でググるのではなくヤフると (Yahoo で検索。そんな言葉あるか ?)、比較的上位に
>「R8.1.6 の SQL*Plus の不具合」とありました。arraysize を変更すると回避できるとも。
>当方は環境が全然違いますので検証はしておりませんが参考までに。

>http://fukkey.dyndns.org/pins/ora/020331/41580.html

残念ですがarraysizeはSQL*Plusのコマンドなので恐らくPBでの
発行は不可能かと思われます。SQL*Plusでの話しになりますと、
同一のSQL分を発行してもエラーは発生しませんでした。やはり
ORACLEとPBを結ぶPB側のDBインタフェースに問題があるようです。

色々と検証してみた結果、全データ型共通に発生するみたいです。
グループで集計された行に一行でもNullがあればダメみたいです。

  「, MAX(DECODE(\"TABLE\".\"なんかの区分\",1,\"TABLE\".\"なんかの日付\")) 区分1の日付
   , MAX(DECODE(\"TABLE\".\"なんかの区分\",2,\"TABLE\".\"なんかの日付\")) 区分2の日付」
みたいな区分によって列を分けたい場合によく使う日付型のDECODE分なんかがありがちです。

これは確証はありませんが、サブクエリ内で集計した行にはNullは無くとも、その上位
(JOIN元)でNull値を比較したら同様のエラーが発生しました。

SELECT ....
FROM   テーブル1
,      (
         SELECT キー
         ,      SUM(数値) AS 数値 /* Nullは無し */
       ) テーブル2
WHERE  テーブル1.キー = テーブル2.キー(+)
AND    テーブル1.区分 = :検索引数 /* テーブル1.区分にNullが含まれる */
;

このような場合です。


いずれにせよ、PB6.5+ORACLE8.1.6以上で開発する場合はNullに細心の注意を払わないと
いけなくなりました。
もうちょっと粘って調べてみます。
ありがとうございました。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows XP
DBMS Oracle Net 10
Browser (記載なし)

Server SoftWare

OS Windows Server 2003
DBMS Oracle10G
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.