繁体   English   中英

将查询结果另存为csv文件在特定文件夹下的服务器上

[英]Save Query Result as csv file on server under specific folder

我想将sql server 2008的查询结果保存到服务器本身,并将文件链接存储在另一个表中,以便每当我希望可以下载文件时,而无需重新执行查询。

我使用C#作为前端的asp.net。

在前端就像。 Enter Area Code
用户输入区号并单击提交,它将在数据库中搜索具有相同区号的所有记录并将其保存在服务器上的csv文件中。

我正在使用以下代码。

select * from mytablename where area_code=21

将此结果保存在我的服务器上。

            FileStream fs = new FileStream(path, FileMode.CreateNew);
            StreamWriter CsvfileWriter = new StreamWriter(fs);
            //This Block of code for getting the Table Headers

            for (int i = 0; i < dr.FieldCount; i++)
            {
                tableColumns.Columns.Add(dr.GetName(i));
            }
            CsvfileWriter.WriteLine(tableColumns.Columns.ConcatUsing(","));

            StringBuilder sb = new StringBuilder();
            while (dr.Read())
            {
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    sb.AppendFormat("{0},", dr[i]);
                }
                sb.AppendLine();
            }
            CsvfileWriter.WriteLine(sb.ToString());

保存的路径名是table。

使用LinqToCSV并将文件写入服务器。 使用LinqToCSV的内置方法可以直接进行编写。 然后将文件名存储在表中。

declare @sql varchar(8000)
select @sql = 'bcp "select * from mytablename where area_code=21" queryout c:\bcp\[filename] -c -t, -T -S' + @@servername
exec master..xp_cmdshell @sql

执行此查询,您必须设置写入文件的路径。 当前在此查询中,您必须在“ C:\\” Drive中创建一个“ bcp”文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM