Sql server 2008 将SQL Server 2008查询结果导出到CSV文件时,会添加额外的行

Sql server 2008 将SQL Server 2008查询结果导出到CSV文件时,会添加额外的行,sql-server-2008,csv,export,Sql Server 2008,Csv,Export,当我将查询结果从SQL Server 2008导出为CSV或制表符分隔的txt格式时,当我在Excel中打开导出的文件或将其导入Access时,总是会看到额外的记录(这些记录不是空的) SQL查询结果返回116623行 但当我导出到csv并用excel打开时,我看到116640条记录。我尝试将csv文件导入access,我还看到了额外的记录 奇怪的是,如果我在excel中将总计添加到第116623行,我就得到了正确的总计,这意味着我在这一点上拥有正确的数据,但之后额外的17条记录是错误的数据,我

当我将查询结果从SQL Server 2008导出为CSV或制表符分隔的txt格式时,当我在Excel中打开导出的文件或将其导入Access时,总是会看到额外的记录(这些记录不是空的)

SQL查询结果返回116623行

但当我导出到csv并用excel打开时,我看到116640条记录。我尝试将csv文件导入access,我还看到了额外的记录

奇怪的是,如果我在excel中将总计添加到第116623行,我就得到了正确的总计,这意味着我在这一点上拥有正确的数据,但之后额外的17条记录是错误的数据,我不知道是如何添加的

有人知道是什么原因导致这些额外记录/行出现在我的CSV文件末尾吗



我导出的方法是右键单击结果并导出到csv(逗号分隔)或txt(制表符分隔)文件,这两种文件都会导致问题。

我敢打赌,在这些大量的行中,有些数据在记录内部有回车符(例如包含换行符的地址记录)。在某些列中查找包含空数据的行,这些列可能包含数据。我通常会将文件重新导入到工作表(使用标识以便您可以识别哪些行靠近坏行),然后对其运行查询以查找坏行

我敢打赌,在这些庞大的行中,有些数据在记录内部有回车符(例如包含换行符的地址记录)。在某些列中查找包含空数据的行,这些列可能包含数据。我通常会将文件重新导入到工作表(使用标识以便您可以识别哪些行靠近坏行),然后对其运行查询以查找坏行

实际上,导出结果为功能中有一个bug。导出结果后,在十六进制编辑器中打开csv文件并查找最后一条记录的唯一键。您将在文件末尾找到它。找到该记录的OD OA并删除后面的所有内容。它不是Excel或Access。由于某些原因,SQL无法在不损坏文件结尾的情况下导出csv。

实际上,将结果导出为功能中存在一个错误。导出结果后,在十六进制编辑器中打开csv文件并查找最后一条记录的唯一键。您将在文件末尾找到它。找到该记录的OD OA并删除后面的所有内容。它不是Excel或Access。由于某些原因,SQL无法导出csv而不损坏文件的结尾。

如何导出?SSMS?我导出的方式是右键单击结果并导出到csv(逗号分隔)或txt(制表符分隔)文件,这两种方式都会导致问题,我刚刚注意到一些奇怪的事情。这次我尝试使用导出向导导出,向导说它导出了116623条记录(这是正确的记录数量)但是,当我在excel中打开文件时,我看到116786行,所以我想这一定是excel的问题,也许???@JuanVelez结尾的额外记录是否存在于您的源数据集中?@JuanVelez正如HLGEM所提到的,您的数据中有一些奇怪的字符,这些字符在excel中生成了额外的行。您是如何导出的?SSMS?我导出的方式是右键单击结果并导出到csv(逗号分隔)或txt(制表符分隔)文件,这两种方式都会导致问题,我刚刚注意到一些奇怪的事情。这次我尝试使用导出向导导出,向导说它导出了116623条记录(这是正确的记录数量)但是,当我在excel中打开文件时,我看到116786行,所以我想这一定是excel的问题,也许???@JuanVelez结尾的额外记录是否存在于您的源数据集中?@JuanVelez正如HLGEM所提到的,您的数据中有一些奇怪的字符,这些字符在excel中产生了额外的行。+1很喜欢这个有根据的猜测。它显示了马特里的经验,我相信这可能是事实。我所做的是从SQLServer2008导出到CSV,然后将该文件重新导入SQLServer2008,发现我有相同的匹配数据(没有额外的记录)。出于某种原因,excel和access正在添加额外的记录(可能是导致换行的特殊字符)。我需要将此文件发送给处理数据的人员,以便让他们知道将文件导入SQL以查看excel和access显示的数据是否正确。感谢您的帮助。另一种方法是在导出+1之前识别特殊字符并替换它。只需喜欢经过教育的猜测。它显示了马特里的经验,我相信这可能是事实。我所做的是从SQLServer2008导出到CSV,然后将该文件重新导入SQLServer2008,发现我有相同的匹配数据(没有额外的记录)。出于某种原因,excel和access正在添加额外的记录(可能是导致换行的特殊字符)。我需要将此文件发送给处理数据的人员,以便让他们知道将文件导入SQL以查看excel和access显示的数据是否正确。感谢您的帮助。另一种方法是在导出之前识别特殊字符并替换它