VC++でMSDEからのデータ取得


CA  2005-09-02 13:03:50  No: 58832  IP: [192.*.*.*]

はじめまして、よろしくご指導ご鞭撻ください。
Visual Stidio6.0のVC++を使用しデータを取得するプログラミングを作成しています。
DB(MSDEを使用)からあるカラムのデータを取得する時のみ
「メモリ不足が不足しています」
というポップが現れ、そこで終了してしまいます。
Accessを使用しMSDEを「.adp」形式でテーブルのデータ定義を参照したところ
「ntext型」となっておりました。(初めて聞きました・・・。)
問題点を切り分ける為、Access(モジュールを作成しただSQLを発行し該当データを取得する。)でVCで作成したSQLを発行したところ取得できました。OSQLでも取得は可能でした。
何か回避方法などお知りでしたら、ご教授ください。

編集 削除
CA  2005-09-02 19:28:03  No: 58833  IP: [192.*.*.*]

下記がソースになります。
------------------------------------------------------------------
void CDBtestDlg::WUP_DB()
{
  CString strCon;
  CString strSql;

  strCon = "DSN=whatsup;UID=administrator;PWD=";

  //実行SQL生成
  strSql = "select * from SystemActivityLog";

  CDatabase db;
  //接続
  db.OpenEx( _T( strCon ), CDatabase::openReadOnly | CDatabase::noOdbcDialog );

  //実行
  CRecordset rs( &db );

  rs.Open( CRecordset::forwardOnly, _T( strSql ) );

  CString strResult;
  CODBCFieldInfo fi;

  short nFields = rs.GetODBCFieldCount();

  short index;

  if (!rs.IsEOF()) 
  {
    strResult = "";
    for(index = 0; index < nFields; index++ )   
          {
        rs.GetODBCFieldInfo(index, fi);
        strResult = strResult + fi.m_strName + ",";
    }
  }

  CString strValue;

  int i = 0 ;
  CDBVariant varValue;

  while( !rs.IsEOF() )
  {
    strResult = "";
    for(index = 0; index < nFields; index++ )   
    {

        ////////   ここでntext型のデータ取得時に落ちます ///////
         ////////   ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ //////
        rs.GetFieldValue( index, _T( strValue ) );
         ////////   ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ //////

        
        strResult = strResult + strValue + ",";
    }
    AfxMessageBox(strResult);
    rs.MoveNext();
    i++;
  }

  rs.Close();
  db.Close();

}

編集 削除