我的程序如下想往oracle里存图片.
char *pBuf = m_pBMPBuffer;
VARIANT varBLOB;
SAFEARRAY *psa;
    SAFEARRAYBOUND rgsabound[1];
if(pBuf)
{    
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = m_nFileLen;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
for (long i = 0; i < (long)m_nFileLen; i++)
SafeArrayPutElement (psa, &i, pBuf++); varBLOB.vt = VT_ARRAY | VT_UI1;
varBLOB.parray = psa;
m_pRecordset->GetFields()->GetItem("photo")->AppendChunk(varBLOB);
}
连接的代码入下不过连接库好象没有问题.
  AfxOleInit();
m_pConnection.CreateInstance("ADODB.Connection");
/******************&Aacute;&not;&frac12;&Oacute;&Ecirc;&yacute;&frac34;&Yacute;&iquest;&acirc;********************/
try
{
m_pConnection->ConnectionTimeout = 8;
//&Aacute;&not;&frac12;&Oacute;SQL SERVER
//m_pConnection->Open("Driver=SQL Server;Database=test;Server=127.0.0.1;UID=sa;PWD=;","","",adModeUnknown);
//&Aacute;&not;&frac12;&Oacute;ACCESS2000
m_pConnection->Open("Provider=Microsoft OLE DB Provider for Oracle;Data Source=deviser","user1","pass1",adModeUnknown);
}
catch(_com_error e)///&sup2;&para;×&frac12;&Ograve;ì&sup3;&pound;
{
AfxMessageBox("&Ecirc;&yacute;&frac34;&Yacute;&iquest;&acirc;&Aacute;&not;&frac12;&Oacute;&Ecirc;§°&Uuml;!");
return FALSE;

/**********************************************/
m_pRecordset.CreateInstance("ADODB.Recordset");
HRESULT hr = m_pRecordset->Open("SELECT * FROM userphotooo",_variant_t((IDispatch *)theApp.m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);