- PR -

VCでCLOB型のストアドの戻り値が取得できない

1
投稿者投稿内容
たけし
会議室デビュー日: 2006/04/26
投稿数: 1
投稿日時: 2006-04-26 19:15
VC6.0でオラクルODBCを利用して、ストアドを実行し、その戻り値を取得
するプログラムを作っているんですが、CLOB型が取得できなくて困っています。
誰か教授してください。

環境:Windows2003サーバー
   Oracle10gお試し版
   VC6.0

下記のようなコードとなっています。

------------------------------------------------------------------------
TestRecordset .h

class TestRecordset : public CRecordset
{
public:
TestRecordset (CDatabase* pDatabase = NULL) ;
virtual ~TestRecordset () ;

DECLARE_DYNAMIC(TestRecordset )
public :
void Move( long nrows, WORD wfetchtype );

//{{AFX_FIELD(TestRecordset , CRecordset)
CString m_clobOutput;
//}}AFX_FIELD

//{{AFX_VIRTUAL(TestRecordset )
public:
virtual void DoFieldExchange(CFieldExchange* pFX) ; // RFX support
//}}AFX_VIRTUAL
};
------------------------------------------------------------------------
TestRecordset.ccp

IMPLEMENT_DYNAMIC(TestRecordset, CRecordset)

TestRecordset::TestRecordset(CDatabase* pdb) : CRecordset(pdb)
{
}

TestRecordset::~TestRecordset()
{
}

void TestRecordset:: doFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(TestRecordset)
pFX->SetFieldType(CFieldExchange :: outputParam);
RFX_Text(pFX, "OutCmt", m_strOutCmt);
RFX_Text(pFX, "OutOutdata", m_clobOutput, 200000);
//}}AFX_FIELD_MAP
}

void TestRecordset::Move(long nrows, WORD wfetchtype)
{
if (m_nFields)
CRecordset ::Move(nrows, wfetchtype);
else
m_bBOF = m_bEOF = true;
}
------------------------------------------------------------------------
ストアド実行:

TestRecordset& selectRecordset;

selectRecordset.Open( AFX_DB_USE_DEFAULT_TYPE ,_T("call TestSP (?)")) ;

------------------------------------------------------------------------

よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)