0

VC++/SQL サーバー アプリを移行して、Oracle を使用しています。データベース アクセスは ADO クラスを使用して実装されていますが、Oracle から返されるカーソルを経由する方法が見つかりません。

sproc は次のようなものです。

create or replace PROCEDURE GetSettings
(
  cv_1 OUT SYS_REFCURSOR
)
AS
BEGIN
   OPEN  cv_1 FOR
      SELECT KEY ,
             VALUE 
        FROM Settings;
END;

コードは次のようなものです。

      _CommandPtr pCommand;
      _ParameterPtr pParam1;

      HRESULT hr = pCommand.CreateInstance (__uuidof (Command));

      if (FAILED (hr))
           return;

      pCommand->ActiveConnection = m_pConn;
      pCommand->CommandText = "GetSettings";
      pCommand->CommandType = adCmdStoredProc;
      _RecordsetPtr pRecordset;
      hr = pRecordset.CreateInstance (__uuidof (Recordset));
      if (FAILED (hr))
           return;

      pRecordset = pCommand->Execute(NULL,NULL,adCmdStoredProc);

(実際にはhttp://www.codeproject.com/Articles/1075/A-set-of-ADO-classes-version-2-20#TheSample02の ADO クラスを使用しています)

返された pRecordset は閉じた状態にあり、何もできません。カーソルに何らかのパラメーターを渡す必要があると思いますが、これらの ADO 関数を使用して、返されたカーソルをどのように作成/使用/アクセスしますか? 私が見ることができるカーソルパラメータタイプはありません

私は完全に立ち往生しており、助けていただければ幸いです

ありがとう

4

1 に答える 1