[pgsql-jp: 25698] ADO、VB6でグループ関数が使用できない。
takao.suzuki
takao-suzuki @ arch.co.jp
2002年 4月 24日 (水) 14:05:12 JST
鈴木@ARCHと申します。
はじめて投稿させていただきます。
よろしくおねがいいたします。
ADOのグループ関数についての質問です。
VBからADO接続でグループ関数(Count/Max/Min/Sum/Avg)を
実行したところ、Count関数については値を取得することが出来たのですが、
その他の関数について値を取得しようとしたところ
以下のエラーが発生しました。
ERROR『-2147467259 データ プロバイダまたはほかのサービスが E_FAIL 状態
を返しました。』
ConnectionオブジェクトのExecuteメソッド(【方法1】参照)、
CommandオブジェクトのExecuteメソッド(【方法2】参照)、
RecordsetオブジェクトのOpenメソッド(【方法3】参照)で
試してみましたが、どれも結果が同じでした。
実行は以下のようにしました。
環境
サーバー OS:Red Hat Linux 7.1
DB:PostgreSQL 7.2
クライアント OS:WindowsNT 4.0 SP6a
言語:Visual Basic 6.0
ADO:Ver2.7〜2.5
ODBC:PostgerSQL ODBC Driver 07.01.0006 日本語版 2001/07/13版
SQL文
strsql = SELECT COUNT(SURYO) AS COUNT_SURYO FROM TEST
strsql = SELECT MAX(SURYO) AS MAX_SURYO FROM TEST
strsql = SELECT MIN(SURYO) AS MIN_SURYO FROM TEST
strsql = SELECT SUM(SURYO) AS SUM_SURYO FROM TEST
strsql = SELECT AVG(SURYO) AS AVG_SURYO FROM TEST
【方法1】 Connectionオブジェクト
Set adodb_recordset = adodb_connect.Execute(strsql, , adCmdText)
【方法2】 Commandオブジェクト
adodb_command.ActiveConnection = adodb_connect
adodb_command.CommandType = adCmdText
adodb_command.CommandText = strsql
adodb_command.Execute
【方法3】 Recordsetオブジェクト
adodb_recordset.Open strsql, adodb_connect, adOpenStatic, adLockOptimistic
ちなみに、同設定でOracle8iでは全てのグループ関数が使えました。
ADOとPostgreSQLの相性の問題なのでしょうか?
どなたかアドバイスをよろしくお願いします。
pgsql-jp メーリングリストの案内