I try to write this code for postgresql (for mysql working fine): try { m_pRecordset->AddNew(); iTimes++; VARIANT bitdata[3]; SAFEARRAY *psafe[3] = {NULL, NULL, NULL}; SAFEARRAYBOUND band[3]; bitdata[0].vt = VT_ARRAY | VT_UI1; band[0].cElements = FreImgSize; band[0].lLbound = 0; psafe[0] = SafeArrayCreate(VT_UI1, 1, &band[0]); for (long iSize = 0; iSize < FreImgSize; iSize++) { SafeArrayPutElement(psafe[0], &iSize, &pFreImg[iSize]); } bitdata[0].parray = psafe[0]; if (bitdata[0].parray != NULL) { m_pRecordset->GetFields()->GetItem("CapturePic")->AppendChunk(&bitdata[0]); } When calling AppendChunk error occurs. Please help me, thks! peng