我想将sql server 2008查询结果保存到服务器本身并将文件链接存储在另一个表中,这样每当我想要我可以下载文件时,无需重新执行查询。
我使用带有C#的asp.net作为前端。
在前端它就像。Enter Area Code
我正在使用以下代码。
select * from mytablename where area_code=21
将此结果保存在我的服务器上。
答案 0 :(得分:1)
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());
保存路径名称为表。
答案 1 :(得分:0)
使用LinqToCSV并将文件写入服务器。 使用LinqToCSV的内置方法编写应该是直截了当的。 然后将文件名存储在表中。
答案 2 :(得分:0)
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
执行此查询您必须设置写入文件的路径。 目前在此查询中,您必须创建一个&#34; bcp&#34;文件夹在&#34; C:\&#34;驱动器。