Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server批量插入CSV最后一行处理_Sql Server_Csv_Unexpectendoffile - Fatal编程技术网

Sql server SQL Server批量插入CSV最后一行处理

Sql server SQL Server批量插入CSV最后一行处理,sql-server,csv,unexpectendoffile,Sql Server,Csv,Unexpectendoffile,我已经寻找了很长一段时间的答案,我感到惊讶的是,它似乎并不容易获得。我有大量的CSV文件。事实上,超过100000行的最后一行的第二列是“报告结束”,列数与其他行的列数不同。如果我将lastrow=设置为最后一行的数值,代码工作正常。导入到SQL表中没有问题。否则它会出错,我想会出现文件结束错误5832 我必须编写一个实用程序来处理CSV文件,但肯定有更好的答案。有人知道如何丢弃最后一行吗?我试过了try-catch、错误文件等,但似乎没有任何效果。我认为,在处理文本文件时,这是一个常见的要求,

我已经寻找了很长一段时间的答案,我感到惊讶的是,它似乎并不容易获得。我有大量的CSV文件。事实上,超过100000行的最后一行的第二列是“报告结束”,列数与其他行的列数不同。如果我将lastrow=设置为最后一行的数值,代码工作正常。导入到SQL表中没有问题。否则它会出错,我想会出现文件结束错误5832


我必须编写一个实用程序来处理CSV文件,但肯定有更好的答案。有人知道如何丢弃最后一行吗?我试过了try-catch、错误文件等,但似乎没有任何效果。我认为,在处理文本文件时,这是一个常见的要求,但到目前为止,情况似乎并非如此。

批量插入如何?哪个工具/命令?什么设置?导入和转换数据是SSI的工作,无论是作为服务使用还是通过导入数据向导。如果愿意,您甚至可以连接到Hadoop和Spark。bcp和
批量插入
并不是要导入任意CSV,而是要导入以特定格式生成的格式良好的文件。要将其放在上下文中,我可以从银行加载事务文件,这些文件可能有或可能没有列标题,有或没有多个结束行、任意页眉或页脚,通过SSIS。您可以从导入数据向导开始,设置标题、第一行/最后一行等所需的设置。您可以在本地保存ETL脚本,并使用SSDT进行编辑,例如添加列、转换/解析值、查找数据块插入[NEMDispatchSCADA]从“F:\AEMO\CSV\Test\2016\Daily\u Dispatch\PUBLIC\u Dispatch SCADA\u 201601010010\u0000000 267398502.CSV”和MMS中的(FIELDTERMINATOR=',',ROWTERMINATOR='0x0A',FIRSTROW=3),格式正确,无法丢弃最后一行吗?我将调查SSI和导入数据向导,谢谢。预处理csv文件很简单。您可以通过简单的sed oneliner来实现。类似这样的东西,例如
sed-i'/^*报告结尾*$/d'*.csv
我选择使用sed比使用我发现的SSI更简单。谢谢你,我的3000万行表现在已经完成了。