您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

C# 读取 sql server 大型字段(单个字段大小超过10G)

bubuko 2022/1/25 19:09:32 dotnet 字数 4259 阅读 976 来源 http://www.bubuko.com/infolist-5-1.html

如果电脑内存够大,并且只为这一个程序服务,当然这不是问题,可大多数场景并非如此。 var file = @"a.zip"; using (var conn = new SqlConnection("Data Source=.;Integrated Security=SSPI;Initial Cata ...

如果电脑内存够大,并且只为这一个程序服务,当然这不是问题,可大多数场景并非如此。

var file = @"a.zip";
using (var conn = new SqlConnection("Data Source=.;Integrated Security=SSPI;Initial Catalog=ABC"))
{
    conn.Open();
    var sql = "SELECT TOP 1 BulkColumn FROM OPENROWSET(BULK ‘" + file + "‘, SINGLE_BLOB) f";
    using (var cmd = new SqlCommand(sql, conn))
    {
        cmd.CommandTimeout = 0;
        using (var dr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
        {
                        
            int bufferSize = 100;
            byte[] buffer = new byte[bufferSize];
            int readBytes = 0;
            long index = 0;

            using (FileStream fs = new FileStream(@"b.zip", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                while (dr.Read())
                {
                    while ((readBytes = (int)dr.GetBytes(0, index, buffer, 0, bufferSize)) > 0)
                    {
                        fs.Write(buffer, 0, readBytes);
                        index += readBytes;
                    }
                }
            }
        }
    }
}

 

C# 读取 sql server 大型字段(单个字段大小超过10G)

原文:https://www.cnblogs.com/nanfei/p/14716866.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶