如何解决SqlBulkCopy问题,数据末尾有新行
我正在使用sqlBulkcopy
在ASP.NET MVC页面上使用C#和EPPlus导入Excel文件。我的目标是导入所有行,与现有数据进行比较,然后更新不匹配的值。除处理换行符和数据末尾的换行符外,其他所有操作均正常。
\r\n
变为\n
,如果最后将其完全忽略,例如:
此“ ...cerâmicae com tampa remove.vel。\ r \ n \ r \nVersátil,美国总司令部。\ r \ n \ r \ nRecomendada para todos oscasuales da casa。\ r \ n \ r \ n“变成“ ...删除陶瓷。\ n \nVersátil,美国邮政总司令。\ n \ n从客房中提取建议。”
在寻找答案的过程中,考虑到列的类型为varchar(max)
,我设法理解了这种行为是正确的吗?
如果是的话...我的问题是我不能使用大的char列,因为它会超出最大行大小,因为我需要许多大列。
我需要将这些换行符保留在数据的末尾,并且,如果可能的话,也希望不影响中间的换行符。
是否可以使用sqlBulkcopy
并更改此行为以完全不更改数据?我不知道,也许列映射中有内容?
关于导入过程,所有内容均以Excel文件开头。我导入该文件并将其转换为EPPLUS ExcelPackage
类。然后,将带有数据的ExcelSheet
转换为DataTable
。
之后,我在数据库上创建一个临时表。相关列为[VARCHAR](MAX) COLLATE sql_latin1_General_CP1_CI_AS NULL
类型。最后,我使用sqlBulkcopy
将来自DataTable
的数据写入该临时表。
在DataTable
中,我检查数据是否仍未触及。仅当信息写入数据库的表中时,更改才会发生。
PS我没有包含代码,因为我认为这与问题无关。如果你们有其他想法,请让我知道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。