总而言之,我开发了一种导出机制,允许从给定数据库中选择的表导出到 .csv 文件;我可以使用bcp
or来做到这一点sqlcmd
。对于大表(> 1-2GB),我想将表拆分成几个预先确定的、用户指定大小的 .csv 文件(比如 200MB)。
如何确定构成用户指定大小的行数?这样我就可以使用sqlcmd
如下命令
DECLARE @sql VARCHAR(8000);
SELECT @sql = 'sqlcmd -S' + @@SERVERNAME + ' -E -Q ' +
'"SELECT * FROM Ia.dbo.[Episode];" -o "F:\aaData\Test2.csv" -s"," -W';
EXEC master..xp_cmdshell @sql;
带有一个TOP N
子句来获得正确的拆分 .csv 大小。我可能必须使用批量读取来计算行数,还是有更好的方法来做到这一点?