从SQL数据表中导出数据到Excel文件,基本思路是使用存储过程,动态创建一个数据表,然后把数据Insert到使用OpenRowSet打开的Excel文件中。问题是,在将数据输出到Excel文件后,如何在存储过程里面显示地关闭这个生成好的文件呢?整个文件导出过程实际上是由CSharp 程序控制的,中间对SP做出调用,并返回一个结果文件的全路径名,之后对结果文件进行压缩,有些时候,在压缩时会提示无法访问刚刚生成好的文件,因为它被另一个进程占用。请问应该从什么方向解决这个问题?非常感谢!

解决方案 »

  1.   

    唉~~~我以前也有類似的需求.
    有考慮過跟樓主類似的想法,或者DTS等
    不過後來沒用sp,而是讓C#去調reporting servers來搞的,再网上搞下了個壓縮.zip檔的dll
    目前感覺還不錯.
      

  2.   

    Reporting Server?可以直接从SQL输出数据为Excel文件是吗?不过恐怕我们现在没时间写那个了,改动太大了,还不如直接去掉Zip的部分。。唉。不甘心啊。
      

  3.   

    数据大不? 不大地话直接 Response.ContentType ="application/vnd.ms-excel" 万事大吉。