[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 メーリングリストの案内