现在我碰到一个这样的问题。
表中的一个字段我设置为varbinary(max) 类型。
然后向该字段写入文件,当文件到达250M左右的时候,数据库更新的时候会异常终止。
哪位童鞋碰到过这种情况吗?
我用的是SQL Server2005.

解决方案 »

  1.   

    varbinary(max)可以存2^31-1 个字节,不要发重复贴
      

  2.   

    varbinary(max)不是可以存2^31-1 个字节吗?怎么是文件太大呢?由于需要,必须把文件存到数据库里.
      

  3.   

    各位童鞋帮帮忙,
    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++)
          SafeArrayPutElement (psa, &i, pBuf++);                         ///将pBuf指向的二进制数据保存到SAFEARRAY对象psa中
       varBLOB.vt = VT_ARRAY | VT_UI1;                                   ///将varBLOB的类型设置为BYTE类型的数组
       varBLOB.parray = psa;                                             ///为varBLOB变量赋值
       m_pRecordset->GetFields()->GetItem("photo")->AppendChunk(varBLOB);///加入BLOB类型的数据

    m_pRecordset->Update();                                              ///保存我们的数据到库中
    这是网上常见的例子,我就是按照这个写的.问什么图像文件大了,就会出错呢?不是可以存储2个G吗?现在才200多M啊