我正在使用以下命令对供应商提供的 .csv 文件进行相当直接的导入(我已将其缩写了一点):
插入... 从 OPENROWSET (Bulk 'CSVFileName', FORMATFILE ='XMLFormatFileName', FIRSTROW = 2, MAXERRORS = 0 ) AS BulkLoadFile
CSV 文件格式如下所示(您可能需要单击查看图像,因为我是 StackOverflow 的新手,我还不能直接发布图像):
http://i.stack.imgur.com/qZMwV.jpg
我的问题是计数的最后一行......它导致导入失败!
仅供参考 >>> 是的,我知道你可以使用“SET NOCOUNT ON;” 但我不生成这个文件,所以这不是一个选项。
现在我打开文件并删除最后一行,然后在导入前重新保存。(注意:我还删除了以绿色显示的前 2 行,因为我已经在文件中,但前两行不是问题,因为我可以使用 FIRSTROW = 4 开关跳过这些行)。
所以我的问题是:
有没有办法跳过最后一行?
或者
有什么方法可以获取行数并可能使用 LAST ROW 开关?即最后一行 = 来自 myCSVfile 的计数(*)
或者
由于它总是以“Total:”开头,所以无论如何要添加 WHERE 子句?即第一列中的 WHERE 值不像 'Total:%'
或者
这是 SSIS 会更好地处理的事情吗?如果是这样,我可以将此导入例程移至 SSIS。
在此先感谢...我期待真正实现自动化,而不必在每次导入时都打开这个文件(一天多次)。
D3Y