我使用OleDb进行数据的访问,在实践中发现,在数据库中某表的其中一个字段设计为char(2048)或varchar(2048),当输入数据小于1024字节时,数据是可以存入库中的,当数据长度为1025字节或更多时,就存不进去,出现异常,这些都是调试状态跟踪出来的!
请问,OLEDB是否对单个域段的存取长度有限制?我感觉应该是OleDb的属性中应有个初始设置,可以重新设置的,可是OleDb的资料太少,实在找不到,请高手们指点!!!!

解决方案 »

  1.   

    你用的是,CRecordSet么?如果是的话,你应该注意把
    DoFieldExchange里的

    RFX_Text(pFX, _T("[AInfo]"), m_AInfo); ”这样的改一下,在后面加个参数用来告诉系统返回或者发送的大小。RFX_Text(pFX, _T("[AInfo]"), m_AInfo,1024*1024); 就表示能传输1M的数据
      

  2.   

    好像应该分次存储!!
    过大文件就用ole对象存储吧!!
      

  3.   

    其实你用atl向导添加绑定的时候,就自动给你加了注释告诉你怎么作了。用那个什么IStream什么什么指针来作,
    系统绑定的时候传过来的不是数据是那个类型的指针。
      

  4.   

    你去搜索以前的帖,有关于Oledb处理BLOB的例子