|   |      1 
                                  6
                             数据表在内存中,因此它将在大型文件上失败,或者根据文件大小变慢。 您需要使用sqldatareader逐个记录地读取数据记录,并使用xmlwriter创建XML文件。 类似于此(未检查代码)  | 
|   |      2 
                                  4
                             您决不能在内存中加载整个2GB数据库。您将需要以块的形式加载和处理数据库记录。 要部分加载数据库,可以使用select命令中的top和rownum子句。有关详细信息,请参阅SQL Server的文档。 | 
|   |      3 
                                  1
                             如果要处理大型文件,请考虑不填充数据集的DataReader;它不会在内存中加载整个表,而是逐行加载。也可以使用sqldataadapter.fill()来代替这种方法,不要忘记释放它。 您实际上不需要为连接调用.close(),因为调用.dispose()时会调用它。 附言:你不能关闭读者,可能这就是原因。是的,vs.net将比GC更快地关闭它。 | 
|   |      4 
                                  1
                             为什么不做一些简单的事情,比如: 这将一次以一行的形式传输数据,转换为对象,然后另存为XML。这将几乎不用任何内存,而且应该非常快。 |