Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net c#sql server读取块中的二进制sql字段数据_C#_Asp.net_Sql Server_Sql Server 2008 - Fatal编程技术网

Asp.net c#sql server读取块中的二进制sql字段数据

Asp.net c#sql server读取块中的二进制sql字段数据,c#,asp.net,sql-server,sql-server-2008,C#,Asp.net,Sql Server,Sql Server 2008,在我的数据库中,我们有一个varbinary字段,它以字节存储文件内容 由于文件很大,一次读取所有内容会导致超时,所以我想在块中读取数据,就像我们在sql中有write函数使用块写入数据一样 有什么建议吗 谢谢您看过文件流数据类型了吗 有关如何执行此操作的更多信息要通过简单的选择…,您可以转到ADO.NET,即ExecuteReader,指定CommandBehavior.SequentialAccess标志。现在,您可以重复调用该方法,将顺序块读入缓冲区。例如: byte[] buffer =

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

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

有什么建议吗


谢谢

您看过
文件流
数据类型了吗


有关如何执行此操作的更多信息

要通过简单的
选择…
,您可以转到ADO.NET,即
ExecuteReader
,指定
CommandBehavior.SequentialAccess
标志。现在,您可以重复调用该方法,将顺序块读入缓冲区。例如:

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;
}