【问题标题】:Asp.net c# sql server read binary sql field data in chunkAsp.net c# sql server 读取块中的二进制sql字段数据
【发布时间】:2012-06-14 14:46:29
【问题描述】:

在我的数据库中,我们有一个 varbinary 字段,它以字节为单位存储文件内容。

由于文件很大,一次读取所有内容会导致超时,所以我想读取块中的数据,就像我们在 sql 中使用写入函数使用块写入数据一样。

请提出任何想法?

谢谢

【问题讨论】:

    标签: c# asp.net sql-server sql-server-2008


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      要通过简单的SELECT ... 实现这一点,您可以拖放到 ADO.NET,即ExecuteReader,指定CommandBehaviour.SequentialAccess 标志。现在您可以重复调用GetBytes 方法将顺序块读入缓冲区。例如:

      byte[] buffer = new byte[8040];
      int bytes;
      long offset = 0;
      while((bytes = (int)reader.GetBytes(col, offset, buffer, 0, buffer.Length)) >0) {
          // TODO: do something with `bytes` bytes from `buffer`
          offset += bytes;
      }
      

      【讨论】:

        猜你喜欢
        • 2015-01-08
        • 1970-01-01
        • 1970-01-01
        • 2010-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-04
        相关资源
        最近更新 更多