向数据库表中添加二进制流的有关问题

向数据库表中添加二进制流的问题
毕业设计做一个网络协议分析软件,但把winpcap抓的数据包存到数据库(ACCESS)里时就出错了,请高手指点!部分代码如下:
DWORD   WINAPI   CaptureThread(LPVOID   pParam)
//UINT   CMy1234Dlg::CaptureThread(LPVOID   pParam)
{

        pcap_if_t*   alldevs;
pcap_if_t*   d;
        char   errbuf[PCAP_ERRBUF_SIZE];
      pcap_findalldevs(&alldevs,errbuf);   //   获得网络设备指针
        d=alldevs;

        const   char*   pCardName=(char*)pParam;                     //   转换参数,获得网卡名字                                                

        adhandle   =   pcap_open_live(d-> name,65535,1,1000,errbuf);  
 
             
      struct   pcap_pkthdr   *header;

        const   u_char   *pkt_data;   //指向常量的指针数据包内容指针
      _ConnectionPtr m_pConnection;
      AfxOleInit();//实现初始化COM和结束时关闭COM的操作
m_pConnection.CreateInstance(__uuidof(Connection));

try                                  
{
//   打开本地Access库db1.mdb
m_pConnection-> Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=db1.mdb ", " ", " ",adModeUnknown);
}
catch(_com_error   e)
{
AfxMessageBox( "数据库连接失败,确认数据库db1.mdb是否在当前路径下! ");
return   FALSE;
}    
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));

//创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));

 
try
{
m_pRecordset-> Open( "SELECT   *   FROM   data ",   m_pConnection.GetInterfacePtr(),adOpenDynamic,   adLockOptimistic,   adCmdText);

}
catch(_com_error   *e)
{
AfxMessageBox(e-> ErrorMessage());
}                  
        int   re;
        while((re=pcap_next_ex(adhandle,&header,&pkt_data))> =0)
      {

      m_pRecordset-> AddNew();
    char   *pBuf       =     (char   *)pkt_data   ;    
    int   m_nFileLen=   strlen((char*)pkt_data);
    VARIANT   varBLOB;      
    SAFEARRAY   *psa;      
    SAFEARRAYBOUND   rgsabound[1];    
    ///添加新记录      
    if(pBuf)      
    {                      
                rgsabound[0].lLbound=0;      
                rgsabound[0].cElements=m_nFileLen;      
                psa=SafeArrayCreate(VT_UI1,1,rgsabound);                         ///创建SAFEARRAY对象      
                for(long   i=0;i <(long)m_nFileLen;i++)