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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
如何将docx文件从SQL Server数据库检索到ASP.NET核心控制台应用程序?_Asp.net_Sql Server_Asp.net Core - Fatal编程技术网

如何将docx文件从SQL Server数据库检索到ASP.NET核心控制台应用程序?

如何将docx文件从SQL Server数据库检索到ASP.NET核心控制台应用程序?,asp.net,sql-server,asp.net-core,Asp.net,Sql Server,Asp.net Core,我正在使用ASP.NET核心控制台应用程序制作一个微型应用程序,需要从服务器数据库检索.docx文件 有任何示例或建议吗?我建议使用新的.Net Core 3.1 Windows服务模板。我最近编写了3个小型服务,用于从其他数据源更新数据库表。一个是LDAP,另一个是SFTP服务器上可用的Excel文件 根据您的用例,我建议您使用SqlConnection类连接到sqlserver,并从那里访问文档,或者使用SFTP(数据库服务器或非数据库服务器)访问文档。有一些用于.Net Core的SFTP

我正在使用ASP.NET核心控制台应用程序制作一个微型应用程序,需要从服务器数据库检索
.docx
文件


有任何示例或建议吗?

我建议使用新的.Net Core 3.1 Windows服务模板。我最近编写了3个小型服务,用于从其他数据源更新数据库表。一个是LDAP,另一个是SFTP服务器上可用的Excel文件

根据您的用例,我建议您使用SqlConnection类连接到sqlserver,并从那里访问文档,或者使用SFTP(数据库服务器或非数据库服务器)访问文档。有一些用于.Net Core的SFTP库和大量在线教程

在这两种情况下,您都会使用首选连接将文件作为某种数据流本地下载。一旦文件在本地下载到服务器上,您就可以进一步利用SFTP在网络上的任何位置发送文件


问:为什么要从“数据库”服务器下载docx文件?docx文件是否只是“存在”在一台服务器上,而该服务器上的数据库也恰好位于该服务器上?

仅用于将数据作为流读取并复制到文件流。乙二醇

            var fn = "Seat Assembly.doc";
            var outFile = $@"c:\\temp\\{fn}";
            using (var con = new SqlConnection("server=localhost;database=AdventureWorks2017;Integrated Security=true"))
            {
                con.Open();
                var cmd = con.CreateCommand();
                cmd.CommandText = @"
select Document
from production.document
where FileName = @fn";

                cmd.Parameters.Add(new SqlParameter("@fn", fn));

                using (var rdr = cmd.ExecuteReader())
                using (var fs = File.OpenWrite(outFile))
                {
                    if (!rdr.Read())
                    {
                        throw new InvalidOperationException($"File not found {fn}");
                    }
                    rdr.GetStream(0).CopyTo(fs);
                    fs.Close();
                }
            }

问:为什么要从“数据库”服务器下载docx文件?docx文件是否只是“存在”在一台服务器上,而该服务器上的数据库也恰好位于该文件上?