将CSV导入SQL Server-截断

时间:2019-07-17 15:36:33

标签: sql-server import

我正在尝试使用SQL Server Management Studio将数据导入SQL Server,并且不断收到“输出列...由于发生截断而失败”错误。这是因为我让Studio自动检测不是很擅长的字段长度。

我知道我可以返回并延长列的长度,但是我认为必须有一种更好的方法来使它在第一次使用时正确无误,而不必手动计算每列的长度。

我知道这肯定是一个普遍的问题,但是由于我正在寻找一种技术而不是一个特定的问题,因此我对Google的搜索一无所获。

2 个答案:

答案 0 :(得分:0)

您可以采取的一种方法是假设将导入工作花费数小时才能完成,只需将每个文本列设置为VARCHAR(MAX),然后完成CSV导入。在SQL Server中拥有实际表之后,可以使用LEN检查每一列以查看其宽度。基于此,您可以更改列,也可以只是做笔记,放下表格,然后使用适当的宽度重新导入。

答案 1 :(得分:0)

您应该考虑利用SSIS来完成此任务。就花费时间来设置导入csv文件和在数据库中创建物理表的过程而言,有些固定成本。但最终,您将能够为文件中的每个列/字段设置数据类型。此外,SSIS使您至少可以转换或重新格式化数据。

我建议下载Visual Studio和SQL Server数据工具。后者包含必要的工具,包括SSIS,SSRS和SSAS,您需要使用这些工具才能完成此任务。

要点是能够自动执行此任务,尤其是在正在进行的将csv文件上传到数据库中的项目中。